2013-09-23 48 views
-6

我面臨下面的代碼錯誤...代碼錯誤在「否則如果」語句

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

如果我把分號後ELSEIF THN它不執行else if語句可我做什麼

+2

你錯過了一個空格'else if' – Bart

+0

elseif應該是別的如果 –

+0

'如果我把分號放在else之後它不會執行else if語句我該怎麼做是的,這是它是如何工作的! – ppeterka

回答

1

你您的兩個關鍵字elseif之間缺少空格。

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 .....其實我在編程領域M個新的那麼一點了解abouts所有的方法和報表 –

0

如果我把分號ELSEIF THN後不執行else if語句我做什麼

是的,這是預期的行爲!一旦有必須調試一個,永遠不會忘記常見錯誤

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語法錯誤。