[英]Java if Statement, 'Else' Executing Anyway
我正在学习Java,希望有一天能够擅长Java。 现在我正在玩If Statements。 我在玩游戏时制作了以下代码:
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。
除非之前的陈述是假的,否则我认为不应该执行其他事情?
你在if (myNum == 5)
之前错过了一个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.");
}
如果,将其更改为else
if (myNum > 5) {
} else if (myNum == 5) {
} else {
}
如果你在第二个if之前添加一个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.");
}
在第一个if
..... 它不存在块 ....它还检查第二个if ...并且作为它的假..它进入其他...
试试这种方式....
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("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 if变成else if语句,因为第二个if总是被检查并且它返回false因为6!= 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'语句被执行而不是一个。 有很多方法可以解决这个问题...请参阅上面的许多不同方法:)有趣的是,知道不放一个单词可以有不同的输出,或者在这种情况下,输出多个。 在这种情况下,'else if'将是修复小错误的好方法。 祝你学习顺利。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.