前提・実現したいこと
袋の中に入っている5つの玉「赤玉」「青玉」「黒玉」「緑玉」「黄玉」を ランダムに1つ取り出して玉の色を確認する、取り出した玉は確認後にもとに戻してもう一度、ランダムに1つ取り出す作業を 1000回繰り返したときにそれぞれの玉の出現する確率を出す。
Rubyのは既出でしたが、それをJavaで書こうとしてうまくいかなかったので投稿します。
発生している問題・エラーメッセージ
何度やっても結果として0.0が1000回出力する。
該当のソースコード
Java
import java.util.Random; public class Main { public static void main(String[] args) { //変数の定義 int[] count = {0,0,0,0,0}; Random random = new Random(); int randomValue = random.nextInt(5); int max = 1000; String[] ball = {"赤玉","青玉","黒玉","緑玉","黄玉"}; for(int i=0;i<=max;i++){ if (ball.equals("赤玉")){ ++count[0]; }else if (ball.equals("青玉")){ ++count[1]; }else if (ball.equals("黒玉")){ ++count[2]; }else if (ball.equals("緑玉")){ ++count[3]; }else{ ++count[4]; //出力結果 double answer = (double)((count[randomValue]/max)*100); System.out.println(answer); } } } }
試したこと
//出力結果以降を以下に修正しても、結果は2.で記載したとおりになります。
System.out.println((double)((count[0]/max)*100)); System.out.println((double)((count[1]/max)*100)); System.out.println((double)((count[2]/max)*100)); System.out.println((double)((count[3]/max)*100)); System.out.println((double)((count[4]/max)*100));
count配列のそれぞれの要素に1ずつインクリメントして、1000回玉の出し入れを実施して、それぞれの玉の出現回数を求めようとしてますが、それがうまくいってないのだろうと思いますが、これ以上はどう修正すれば良いのでしょうか?
補足情報(FW/ツールのバージョンなど)
JDK→javac 1.8.0_311
まだ回答がついていません
会員登録して回答してみよう