这是代码,
public class Solution {
public static void main(String[] args) {
compare(5);
}
public static void compare(int a) {
if(a==5)
System.out.println("The number is equal to 5");
if(a<5)
System.out.println("The number is less than 5");
else
System.out.println("The number is greater than 5");
}
}
这是输出,
The number is equal to 5
The number is greater than 5
我刚刚调用过一次compare方法,为什么执行两次?
答案 0 :(得分:9)
因为您有两个if-statements
,它们之间没有任何关系。这就是为什么它使用a
和a==5
两次检查参数a<5
的原因。
您可以通过使用else if
语句扩展第二个if来解决此问题。
答案 1 :(得分:2)
它没有两次调用该方法,但是连续的if语句是问题所在。使用
else if (a < 5)
答案 2 :(得分:1)
只需在第二个 if 语句
前添加一个elsepublic class Solution {
public static void main(String[] args) {
compare(5);
}
public static void compare(int a) {
if(a==5)
System.out.println("The number is equal to 5");
// added else
else if(a<5)
System.out.println("The number is less than 5");
else
System.out.println("The number is greater than 5");
}
}