-1

私はこのプログラミング全体に本当に慣れていないので、ループが突然終了し、最後の 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");
    }
}
4

2 に答える 2

0

正しい入力値を指定すると、最後の if() 条件が実行されます。私はあなたのコードを実行し、最後の if() ステートメントを実行するために以下の入力を与えました。

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

コードで何をしようとしているのかわかりませんが、入力数値の合計を取得したいと思っているように不足しているものがたくさんありますが、whileループでは合計が使用されていません。

于 2012-10-05T11:42:25.760 に答える
0

非存在elseケース(whileループ内)になってしまうようです。その結果、number増加せず、whileループに陥ります。

ループone内で読んでみてください。whileこのようにして、ユーザーは各ループで新しい番号を入力するように求められます。

そうしないとwhile、ユーザーがチェックに適合しない番号を入力すると、ループに陥ります。

于 2012-10-05T11:35:57.903 に答える