- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:意味がわかりません)
プログラムにおいて意味がわからない結果が表示される理由
このQ&Aのポイント
- プログラム内で1以上10以下の乱数を生成し、その数の回数だけ乱数を表示するプログラムを作成したが、表示結果に0(何も表示されない)が含まれる場合がある。
- この原因は、forループの条件が問題である。forループの条件が`j<rand`となっており、この条件ではrandが1の場合にはループが実行されないため、乱数が表示されない結果となる。
- 解決策としては、forループの条件を`j<=rand`とすることで乱数の表示が正しく行われるようになる。また、randを生成するコードの位置をループ外へ移動することも必要である。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>for(int j=1; j<rand; j++){ ここが問題です。jの初期値が1になっているから、 randの結果が1だった場合、ループが一回も回らず終わってしまうのです。 通常、forループでn回繰り返す場合、 for(int j=0; j<n; j++) のように初期値を0にします。 ついでながら、Math.randomを使っているのなら、 generatorは要らないと思います。
お礼
ありがとうございましたー!!その通りでした^^; 0にしたところ1個から10個表示されました。 generatorいらないですか!?使ってないですからね^^ 本当、ありがとうございました。