If else语句正在执行它应该执行的操作!JAVA

If else语句正在执行它应该执行的操作!JAVA,java,if-statement,Java,If Statement,Java问题我相信有一个快速解决方案: public void setFlappyBirdHighScore(int newFlappyBirdHighScore) { if(newFlappyBirdHighScore > 999 || newFlappyBirdHighScore != 999) { if(newFlappyBirdHighScore == flappyBirdHighScore) { System.out.pr

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.");
    }
} 
现在,当小于或999时,它会打印最后一个else语句,但我希望它说的是相反的。如果输入的数字高于999,我希望它打印最后一条语句,其他两条就可以了。除了这个小问题,还有什么快速解决方案吗?

您的问题在这里:

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

你的意思是除非分数等于999,否则做最后一个else语句

你会有更多的运气:

 if(newFlappyBirdHighScore <= 999) 

if(newFlappyBirdHighScore它做的与你期望它做的相反,但它确实做了它应该做的。不要这样回答你的问题。大声阅读第一个
if
条件,然后思考它是否有意义……你打算在第一个
if中使用一个
newFlappyBirdHighScore
变量吗
成为一个
flappyBirdHighScore
?它没有多大意义。如果
第一个
失败的唯一方法是如果
newFlappyBirdHighScore
为999。如果它有任何其他值,它将满足条件。代码的其余部分也没有多大意义。OP希望进入第一个if statm如果输入的数字小于或等于999,则输入ent。根据该语句,您希望该数字为小于号。