Java同时执行If和else语句
我用java编写了一个小控制台应用程序,它由If和else语句组成
在输出端,执行两个正确的If和else语句
如何修复?有什么问题吗
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Enter a first number");
int FirstNum = in.nextInt();
System.out.println("Enter an Operator");
String Operator = in.next();
System.out.println("Enter a second number");
int SecondNum = in.nextInt();
try{
if(Operator.equals("+")){
System.out.println(FirstNum + SecondNum);
}
if (Operator.equals("-")){
System.out.println(FirstNum - SecondNum);
}
if (Operator.equals("*")){
System.out.println(FirstNum * SecondNum);
}
if (Operator.equals("/")) {
System.out.println(FirstNum / SecondNum);
}
else {
System.out.println("invalid Operator");
}
}
catch (Exception e){
System.out.println("Invalid Operator or number");
}
}
}
输出示例:
Enter a first number
1
Enter an Operator
+
Enter a second number
2
3
invalid Operator
Process finished with exit code 0
JDK:java15
# 1 楼答案
在编写类似这样的if语句时,您需要将它们与
else if
链接在一起,基本上每个if
都有一个else
,最后一个else
。发生的事情是你在说“如果这个,如果这个,如果这个”等等。它正在测试最后一个if
,因为它不是正斜杠,所以你进入了else试试这个:
# 2 楼答案
首先:不可能同时执行这两条语句
那么,发生了什么事?结构if/else仅为最后两行。也就是说:如果操作符不是
/
,代码将执行else
语句您需要一个if/else if/else语句
# 3 楼答案
您应该在后续语句中使用
else if
。如果只使用if ... if ... if ... else
,那么基本上每个if
都是单独计算的,只有最后的if else
作为一个或另一个放在一起