Java if语句&x27;其他';无论如何执行

Java if语句&x27;其他';无论如何执行,java,if-statement,execute,Java,If Statement,Execute,我正在学习Java,希望有一天能学好它。现在我在玩If语句。我在玩游戏时编写了以下代码: import java.util.Scanner; class programBegin { public static void main(String args[]) { int myNum; Scanner sc = new Scanner(System.in); // Creates variable sc as type Scanner System.out.prin

我正在学习Java,希望有一天能学好它。现在我在玩If语句。我在玩游戏时编写了以下代码:

import java.util.Scanner;

class programBegin {
public static void main(String args[]) {

    int myNum;

    Scanner sc = new Scanner(System.in); // Creates variable sc as type Scanner
    System.out.println("Enter a number between 1 and 10: ");
    myNum = sc.nextInt(); // Requests input and will store it as type int.

    if (myNum > 5) {
        System.out.println("Your number is greater than 5.");
    }
    if (myNum == 5) {
        System.out.println("your number is equal to 5.");
    } else {
        System.out.println("Your number is less than 5.");
    }
  }
}
例如,如果输入6,则得到的输出为:

您的号码大于5

你的号码少于5


我以为else不应该执行,除非前面的语句为false?

if(myNum==5)
之前缺少一个
else

如果需要,请将其更改为else

if (myNum > 5) {

} else if (myNum == 5) {

} else {

}

如果在第二个If之前添加一个else,它将按照您的预期工作。

在第一个
If之后,
它不存在于块中。。。。。它还检查第二个if…,如果为false…,则输入else…

这样试试

if (myNum > 5) {
        System.out.println("Your number is greater than 5.");
    }
    if (myNum == 5) {
        System.out.println("your number is equal to 5.");
    } 
   else if(myNum < 5) {
        System.out.println("Your number is less than 5.");
    }
if(myNum>5){
System.out.println(“您的数字大于5”);
}
如果(myNum==5){
System.out.println(“您的数字等于5”);
} 
否则如果(myNum<5){
System.out.println(“您的数字小于5”);
}

   if (myNum > 5) {
            System.out.println("Your number is greater than 5.");
        }
        else if (myNum == 5) {
            System.out.println("your number is equal to 5.");
        } 
       else (myNum < 5) {
            System.out.println("Your number is less than 5.");
        }
if(myNum>5){
System.out.println(“您的数字大于5”);
}
else if(myNum==5){
System.out.println(“您的数字等于5”);
} 
其他(myNum<5){
System.out.println(“您的数字小于5”);
}

您需要将第二个if转换为else-if语句,因为第二个if总是被选中,并且返回false,因为6!=5,这意味着您的else将得到评估。

您的代码相当于“如果数字超过5,请打印此项。如果数字为5,请打印此项。如果数字不是5,请打印此项。”

您的
else
语句对应于
if(myNum==5)
而不是
if(myNum>5)

您可能希望在此处使用if-else语句

if (myNum > 5) {
    System.out.println("Your number is greater than 5.");
} else if (myNum == 5) {
    System.out.println("your number is equal to 5.");
} else {
    System.out.println("Your number is less than 5.");
}

您可以使用它来提高性能

这里,如果mynum大于5,则省略另外两个ifs:

if (myNum > 5) {
    System.out.println("Your number is greater than 5.");
} else{
    if (myNum == 5) {
        System.out.println("your number is equal to 5.");
    } else if(myNum < 5) {
        System.out.println("Your number is less than 5.");
    }
}
if(myNum>5){
System.out.println(“您的数字大于5”);
}否则{
如果(myNum==5){
System.out.println(“您的数字等于5”);
}否则如果(myNum<5){
System.out.println(“您的数字小于5”);
}
}

执行的是两个不同的“if”语句,而不是一个。有很多方法可以解决这个问题……请看上面的许多不同方法:)有趣的是,不放一个单词可能会有不同的输出,或者在这种情况下,会有多个输出。在这种情况下,“elseif”将是修复小错误的好方法。祝您学习顺利。

6不等于5,因此执行
else
分支将第二条if语句写成
else if
您的问题就可以解决了吗?当您可以调试程序并自学时,请向他人寻求帮助?因为您正在学习,所以您应该调试程序。这将帮助你提高你的调试技巧,也会告诉你哪里出了问题。谢谢你们,我现在感觉自己像个十足的傻瓜。英雄联盟再次感谢@用户1486782没问题,很高兴您能解决此问题。:-)
if (myNum > 5) {
    System.out.println("Your number is greater than 5.");
} else{
    if (myNum == 5) {
        System.out.println("your number is equal to 5.");
    } else if(myNum < 5) {
        System.out.println("Your number is less than 5.");
    }
}