为什么该代码段不会产生结果?

时间:2020-10-25 19:04:26

标签: java eclipse

我需要在Java中修复此代码块,我正在使用eclipse

(total == MAX)
if (total < sum)
        System.out.println("total == MAX and < sum.");
else
System.out.println("total is not equal to MAX");

所以我进行了调整并得到了

package lecture1_1;

public class Total {
    public static void main(String[] args) {
        int MAX = 100;
        int total = 50;
        int sum = 150;
        if (total == MAX)
            if (total < sum)
                System.out.println("total is equal to MAX and less than sum.");
        else
        System.out.println("total is not equal to MAX");

    }
    

}

,但不打印结果。我想念什么?

2 个答案:

答案 0 :(得分:2)

TL; DR使用方括号来建立代码块边界-这将使代码更具可读性。

您期望的是:

public static void main(String[] args) {
    int MAX = 100;
    int total = 50;
    int sum = 150;
    if (total == MAX) {
        if (total < sum) {
            System.out.println("total is equal to MAX and less than sum.");
        }
    }
    else {
       System.out.println("total is not equal to MAX");
    }
}

但是你有什么呢?

public static void main(String[] args) {
    int MAX = 100;
    int total = 50;
    int sum = 150;
    if (total == MAX) {
        if (total < sum) {
            System.out.println("total is equal to MAX and less than sum.");
        }
        else {
           System.out.println("total is not equal to MAX");
        }
    }
}

答案 1 :(得分:0)

由于第一个{ }缺少if,导致else成为第二个if的一部分,因此您没有获得期望的结果。如下纠正后

public class Main {

    public static void main(String[] args) {
        int MAX = 100;
        int total = 50;
        int sum = 150;
        if (total == MAX) {
            if (total < sum)
                System.out.println("total is equal to MAX and less than sum.");
        } else
            System.out.println("total is not equal to MAX");
    }
}

你得到

total is not equal to MAX

始终建议即使对于单个语句也使用{ },如下所示:

public class Main {

    public static void main(String[] args) {
        int MAX = 100;
        int total = 50;
        int sum = 150;
        if (total == MAX) {
            if (total < sum) {
                System.out.println("total is equal to MAX and less than sum.");
            }
        } else {
            System.out.println("total is not equal to MAX");
        }
    }
}
相关问题