2015-06-16 62 views
0

好吧,所以我正在玩一些代碼,並添加新的行,因爲我正在學習java。我得到了這個錯誤「語法錯誤標記」,否則「刪除這個標記」。刪除這個令牌(其他)

因爲即時消息可能會有人解釋這個錯誤,我應該怎麼做,所以我不會再犯同樣的錯誤。

類年{

public static void main (String[] args){ 

    int age = 30; 

    if (age <30){ 

     System.out.println("you are young"); 

    }else{ 

     System.out.println("you are old "); 

     if (age > 1240); 
    }else{ 

     System.out.println("dam son your still a bady"); 

     if (age < 25); 
     { 


      System.out.println("You are Really old son!!"); 

     }else{ 

      System.out.println("you better Hide your age son!!"); 
      } 
     } 
    } 
} 
+0

如果年齡大於等於30,那麼應該執行其他兩個語句中的哪一個? – azurefrog

+0

你有4個可能的年齡段,但有5個輸出......你真的想要達到什麼目標? –

回答

4

你有一個無條件else塊 - 你不能跟着另一個else。因此,這是罰款:

if (condition) { 
    ... 
} else if (otherCondition) { 
    ... 
} else { 
    ... 
} 

但這並不是 - 因爲它沒有任何意義:

if (condition) { 
    ... 
} else { 
    ... 
} else { 
    ... 
} 

沒有條件的else塊意味着無條件地運行,如果它上面的條件爲:不滿意 - 在你的情況下,中間塊是總是運行,所以沒有意義的另一個。

另外請注意,您有:

if (age > 1240); 

...我懷疑你沒有真的打算。同樣的:

if (age < 25); 

這兩個都是if聲明與空體。

這真的不清楚你預期什麼在每種情況下實現 - 但我強烈建議你碰到這樣的:

// List all the age boundaries in increasing order... 
if (age < 25) { 
    ... 
} else if (age < 30) { 
    ... 
} else if (age < 1240) { 
    ... 
} else { 
    ... 
} 

現在正是這些機構的人會被執行。

0

你有一個條件,其沒有任何意義:

if (something) { 

} else { 

} else { 

} 

你怎麼能指望系統知道哪些「其他」塊使用?邏輯上意味着「否則,做到這一點」並有效地捕捉所有剩餘條件。你不能這樣做多一次。

0

它看起來像你有一個if聲明是錯誤的地方。試試這個:

if (age <30){ 

    System.out.println("you are young"); 

}else if (age > 1240){ 

    System.out.println("you are old "); 

}else{ 

    System.out.println("dam son your still a bady"); 

    if (age < 25); 
    { 

     System.out.println("You are Really old son!!"); 

    }else{ 

     System.out.println("you better Hide your age son!!"); 
     } 
    } 
} 
0

首先了解如果語句在任何編程語言中工作。例如this是一個很好的資源,可以讓你理解java中的語句。我不是100%確定你通過這段代碼實現了什麼。但我可以給你一個提示。分支時,不僅使用else,還使用else if()