为什么主方法两次调用compare()方法?

时间:2018-12-18 15:41:21

标签: java if-statement

这是代码,

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方法,为什么执行两次?

3 个答案:

答案 0 :(得分:9)

因为您有两个if-statements,它们之间没有任何关系。这就是为什么它使用aa==5两次检查参数a<5的原因。

您可以通过使用else if语句扩展第二个if来解决此问题。

答案 1 :(得分:2)

它没有两次调用该方法,但是连续的if语句是问题所在。使用

else if (a < 5)

答案 2 :(得分:1)

只需在第二个 if 语句

前添加一个else
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");
    // 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");
}
}