このページでは、Javaのランダム数生成と条件分岐を使ったプログラムの解説を行います。質問にあったコードでは、ランダムに生成した数値が2で割り切れるかどうかを判定し、その結果を表示することが目的です。実行結果と理屈について詳しく説明します。
1. コードの構造と流れ
まず、質問にあったコードを確認しましょう。
int ran;
for(int i = 0; i <= 9; i++){
ran = (int)(Math.random() * 10) + 1;
if (ran % 2 == 0){
System.out.println(ran + "2で割り切れます");
}else{
System.out.println(ran + "2で割り切れません");
}
このコードは、0から9までの10回繰り返しの中で、毎回ランダムな整数(1〜10)を生成し、その値が2で割り切れるかどうかを判定するものです。
2. Math.random()とランダム数の生成
コードの中で、`Math.random()`は0以上1未満のランダムな浮動小数点数を生成します。この結果に10を掛けて0〜9の範囲の浮動小数点数を作り、`(int)`で整数にキャストし、さらに1を足して1〜10の整数を得ています。この部分がランダム数生成の流れです。
3. 2で割り切れるかどうかの判定
次に、`ran % 2 == 0`という条件式が評価されます。`%`は剰余演算子で、`ran`を2で割った余りを計算します。余りが0であれば、`ran`は2で割り切れる数値であり、「2で割り切れます」と表示されます。そうでなければ、余りは1になり、「2で割り切れません」と表示されます。
4. 実行結果の例
このコードを実行した場合、出力はランダムであり、例えば以下のような結果になります。
1 2で割り切れません
8 2で割り切れます
3 2で割り切れません
6 2で割り切れます
10 2で割り切れます
7 2で割り切れません
4 2で割り切れます
2 2で割り切れます
9 2で割り切れません
5 2で割り切れません
このように、1〜10のランダムな数値が生成され、2で割り切れるかどうかが判定されます。
まとめ
このプログラムは、`Math.random()`を使ってランダムな整数を生成し、その数が2で割り切れるかどうかを判定する基本的なコードです。割り算の余りを調べることで、簡単に条件分岐を行い、必要な処理を実行できます。Javaの基本的な制御構造とランダム数生成を理解するための良い練習になります。


コメント