2015-05-17 41 views
-4

我很難用if if語句。我應該爲這個特定的代碼使用其他的東西嗎? 我試圖讓它打破循環,但它卡在大循環...如何讓我的if,else代碼工作?我很難過

package Base; 
import java.util.Scanner; 

public class Game { 

    public static void main(String[] args) { 

     Scanner input = new Scanner(System.in); 

     System.out.println("Unscrammble the   state capitols:\n");  
     System.out.println("NNLSIGA"); 

     String Answer = input.nextLine(); 

     if("Lansing".equals(Answer)); 
     else { 
      System.out.println("Hint: Capitol of the  Great Lake State"); 
      Answer = input.nextLine(); 

      if("Lansing".equals(Answer)); 
      else System.out.println("Try again"); 

      System.exit(0); 
     } 

     System.out.println("INNOAPASL"); 

     Answer = input.nextLine(); 

     // next question  
+0

'如果( 「藍星」 .equals(答案));'你希望做當條件滿足時(換句話說,丟失分號)? – copeg

回答

3

後後if("Lansing".equals(Answer)); .Semicolon刪除分號if();使if語句完成意味着在if之後的語句不是if的一部分,就像你可以說你的if條件就像if("Lansing".equals(Answer)){}即它沒有執行的時候它的真實,這是因爲分號。後面的分號如果還會給你錯誤(否則沒有如果錯誤)爲else部分。

而且,如果你還沒有在if(true)執行任何東西,但你只在if(false) excuting(你也可以說像你的情況if(true)其他部分),你可以簡單地改變條件
if(!("Lansing".equals(Answer)))即加入!運營商如此if(!true)if(false)相同,這將有助於您的情況

+1

謝謝隊友! :)意識到這是一個愚蠢的初學者問題,我只是厭倦了試圖找出它,並知道一些事情是遙遠的。 –

1

我沒有看到這裏的循環,但你應該刪除;之後的if語句,因爲它使if語句空:

if("Lansing".equals(Answer)); 
          ^

如果你只有在其他情況下的邏輯,只是否定條件:

String Answer = input.nextLine(); 

if(!"Lansing".equals(Answer)) { 
    System.out.println("Hint: Capitol of the  Great Lake State"); 
    Answer = input.nextLine(); 
} 

if(!"Lansing".equals(Answer)) 
    System.exit(0); 
.... 
0

您正在編寫if塊錯誤。

的if語句正確的語法是

if(condition) { 
// your code 
} 

如果你寫if(condition);它會跳過塊