2013-09-23 6 views
-6

я столкнулся ошибку в коде ниже ...Код ошибки в «Else If» заявления

elseif(option.equals("S")||option.equals("s")) // Error Expected Symbol ; 
{ 
    ScientificCalculator sc=new ScientificCalculator(); 
    sc.Calc(); 
} 

Если я ставлю точку с запятой после ElseIf Thn не выполнить еще, если заявление, что я делаю

+2

Вам не хватает пробела 'else if' – Bart

+0

elseif должно быть else if –

+0

' Если я положил точку с запятой после elseif, то она не выполнит else if statement what i do' Да, так оно и работает! – ppeterka

ответ

1

You 'пробел между вашими двумя ключевыми словами else и if.

else if(option.equals("S")||option.equals("s")) { /// rest to follow 
2

Java не знает elseif, вам нужно else if.

Ваш код также может быть сокращен до:

else if(option.equalsIgnoreCase("S")) { 
    // do stuff 
} 
1

Вы должны использовать else if, не elseif.

2

попробуйте еще, если а также вместо того, чтобы писать или (||) попытаться использовать equalsIgnorecase метод строкового класса. так переписать код, как below.I я не говорю, что вы пишете неправильный код с помощью кнопки или, но с использованием equalsIgnorecase предотвратит дополнительную проверку, и он будет также улучшить код readeability

else if(option.equalsIgnoreCase("S")) 
{ 
    ScientificCalculator sc=new ScientificCalculator(); 
    sc.Calc(); 
} 
+0

Thanku ..... на самом деле я новый в поле программирования, так что мало знаю о всех методах и операторах –

0

Если я ставлю точку с запятой после ElseIf Thn его не выполнять иначе, если заявление, что я делаю

Да, это ожидаемое поведение! И распространенная ошибка, чтобы никогда не забывать, что пришлось отлаживать один.

if(someCondition); //BAD BAD BAD 
      //an empty code block is run when someCondition is true -- not very useful 
{...instructions...} //these are run regardless of someCondition 

Кроме того, эти общие ошибки:

for(int i=0;i<1000;i++); //BAD BAD BAD! 
{ ... instructions ... } //this is only run once, regardless of i. 
      //Actually i is out of context here, so compiler will point it out... 



int i=0; 
while(i<1000); //BAD BAD BAD! 
{...instructions...} //never run, as the while loop (thanks jlordo) runs infinitely 
      //i is valid, and has the value of 1 - so compiler will be quiet... 
+1

'// запускать только один раз 'неправильно. Это будет ** никогда ** работать, потому что 'while (i <1000); '- бесконечный цикл. – jlordo

+0

@jlordo true! Или еще лучше: while (true); :) – ppeterka

0

там нет такого понятия, как:

if {} elseif{} 

существует:

if 
{} 
else 
{ 
if //Independent if 
{} 
} 

в то время как Java позволяют писать это как:

if{} 
else if{} 
4

Вам нужно положить пространство между ElseIf и для сравнения строк можно использовать equalsIgnoreCase для игнорировать случай

else if(option.equalsIgnoreCase("S")) 
    { 
     ScientificCalculator sc=new ScientificCalculator(); 
     sc.Calc(); 
    } 
1

Java использует else if.

elseif - неправильный синтаксис.

Смежные вопросы