不确定问题是什么

时间:2012-10-05 11:26:26

标签: java

我对这整个编程工作都很陌生,我正试图解决为什么循环突然结束并且不会继续到最后的if语句。你能帮我弄清楚什么是错的吗?

import java.util.Scanner;

public class FunnyAverage {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.print("How many values to read? ");
        int top = in.nextInt();
        System.out.print("Enter Value: ");
        int one = in.nextInt();
        int number = 1;
        int sum = 0;
        sum = sum + one;

        while (number <= top) {
            if (one % 6 != 0 && one % 17 != 0) {
                System.out.print("Enter Value: ");
                one = in.nextInt();
                number++;
            } else if (one % 6 == 0 && one % 17 == 0) {
                System.out.print("Enter Value: ");
                one = in.nextInt();
                number++;

            }

        }

        if (sum / top != 0) {
            System.out.print("Average: " + sum / top);
        }
        System.out.print("None Divisible");
    }
}

2 个答案:

答案 0 :(得分:0)

看起来你最终处于不存在else的情况下(在while循环内)。因此,number不会增加,而您会陷入while循环。

尝试在one循环中阅读while。这样,系统将提示用户在每个循环中输入一个新数字。

否则,一旦用户输入的数字与您的支票不符,您将被卡在while循环中。

答案 1 :(得分:0)

如果给出正确的输入值,则执行最终的if()条件。我运行了你的代码并给出了以下输入来执行最后的if()语句。

How many values to read? 1
Enter Value: 1
Enter Value: 1
Average: 1None Divisible

我不明白你在代码中尝试了什么,但是有很多东西缺失,比如我假设你想要捕获输入数字的总和,但是在while循环中没有使用sum。