0

我的代码有什么问题?当正确答案明显是 6,8 时,它会打印 2,2

public static void main(String[] args) {

    int a = 1;
    int b = 1;
    int answer = 0;
    int j = 4;
    while (j == 4) {
        for (a = 1; a <= 10; a++) {
            for (b = 1; b <= 10; b++) {
                answer = a * a + b * b;
                if (answer == 100) {
                    j = 10;
                }
            }
        }
    }
    System.out.println(a + " " + b);
}
4

2 回答 2

6

if(answer == 100); if 后面多了一个分号。

这将导致它执行j = 10;无论什么answer等于

于 2013-12-20T14:11:14.880 回答
0

您同时增加 a 和 b 。在您的代码中,这两个数字将始终相等。此外,当您退出循环时,您没有测试匹配。

于 2013-12-20T14:23:37.927 回答