プロが教える店舗&オフィスのセキュリティ対策術

Javaの問題なのですが、
永久ループを使って以下に従って数値を出力するプログラムを作成する。
・1~100までの乱数を発生させる
・このとき数値が5の倍数の時は「スキップ」と出力 continue で処理をスキップ
・また数値が7の倍数の時は「hoge」と出力
・合計が500を超えたら「break」と出力しbreakで処理を抜ける
が分かりません。
自分の書いたコードは写真の通りなのですが、7の倍数も普通に出力されてしまいます。
どこが間違ってますか…?

「Javaの問題なのですが、 永久ループを」の質問画像

A 回答 (3件)

5と7の公倍数をどう処理するか考慮すべき


→ 70 は7の倍数なのに hoge せずにスキップしてよいのか?
「スキップ」出力は5の倍数のときだけ行うべき
数値を出力するのはスキップしなくてよいのか?
数値を出力とは、乱数と合計の両方ではないのか?
    • good
    • 0

Javaで永久ループを使って、1~100までの乱数を発生させ、5の倍数の時は「スキップ」、7の倍数の時は「hoge」、合計が500を超えたら「break」と出力するプログラムは次のとおりです。



```
public class Main {
public static void main(String[] args) {
int randomNumber;
int sum = 0;

while (true) {
randomNumber = (int) (Math.random() * 100 + 1);

if (randomNumber % 5 == 0) {
System.out.println("スキップ");
continue;
} else if (randomNumber % 7 == 0) {
System.out.println("hoge");
} else {
System.out.println(randomNumber);
sum += randomNumber;
}

if (sum > 500) {
System.out.println("break");
break;
}
}
}
}
```

このプログラムを実行すると、1~100までの乱数が発生し、5の倍数の時は「スキップ」、7の倍数の時は「hoge」、合計が500を超えたら「break」と出力されます。
    • good
    • 0

コードに書いたとおり、7の倍数の時にスキップとhogeが出力されているので正しいのでは?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!