• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:意味がわかりません)

プログラムにおいて意味がわからない結果が表示される理由

このQ&Aのポイント
  • プログラム内で1以上10以下の乱数を生成し、その数の回数だけ乱数を表示するプログラムを作成したが、表示結果に0(何も表示されない)が含まれる場合がある。
  • この原因は、forループの条件が問題である。forループの条件が`j<rand`となっており、この条件ではrandが1の場合にはループが実行されないため、乱数が表示されない結果となる。
  • 解決策としては、forループの条件を`j<=rand`とすることで乱数の表示が正しく行われるようになる。また、randを生成するコードの位置をループ外へ移動することも必要である。

質問者が選んだベストアンサー

  • ベストアンサー
  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.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は要らないと思います。

mos21
質問者

お礼

ありがとうございましたー!!その通りでした^^; 0にしたところ1個から10個表示されました。 generatorいらないですか!?使ってないですからね^^ 本当、ありがとうございました。

関連するQ&A