2014-02-19 26 views
-4

Java的問題,我相信這是一個快速解決:如果其他語句做了它應該做的反應! Java的

public void setFlappyBirdHighScore(int newFlappyBirdHighScore) { 
    if(newFlappyBirdHighScore > 999 || newFlappyBirdHighScore != 999) 
    { 
     if(newFlappyBirdHighScore == flappyBirdHighScore) { 
      System.out.println("The new score is the same as the old high score, please enter yor new high score"); 
     } 
     else { 
      flappyBirdHighScore = newFlappyBirdHighScore; 
      System.out.println("Your new FlappyBird High Score is: " +newFlappyBirdHighScore); 
     } 
    } 
    else { 
     System.out.println("You have to many digits in your score, please use 1-3 digits."); 
    } 
} 

現在它打印最終else語句時,有小於或999,但我想它說的相反。如果輸入的數字在999以上,我希望它打印最後一條語句,其他兩條工作正常。除了這個小問題,還有什麼快速解決方案?

+7

它做的你期望它做相反的,但它肯定做什麼它應該做的。不要這樣說你的問題。 –

+3

大聲讀出第一個「if」條件,然後想想它是否有意義...... –

+0

您是否打算將第一個if中的'newFlappyBirdHighScore'變量之一作爲'flappyBirdHighScore'?它沒有多少意義。 – lurker

回答

0

你的問題是在這裏:

if(newFlappyBirdHighScore > 999 || newFlappyBirdHighScore != 999)

你說的是什麼,除非分數等於999,做最後的else語句。

你會擁有更多的運氣:

if(newFlappyBirdHighScore <= 999) 
+0

如果輸入的數字小於或等於999,則OP想要進入第一個if-statment。根據該聲明,您希望該數字小於符號。 – mdewitt

相關問題