2
乱数が前のものと繰り返された場合にその繰り返しを数え、その数を変更するという条件で、0から20の範囲の20の乱数を生成するコードを作る必要があります繰り返されていないものに変換する。私は、コードを実行すると、「ながら」がなかったかのように、自分自身を繰り返していくつかのランダムな数字があり、ランダムの試行を数える
int [] times = new int [21];
int[] randoms = new int [21];
for (int i = 0; i < 20; i++) {
times[i] = 0;
randoms[i]=(int)(Math.random()*21);
//System.out.print(i);
if(i>0){
for (int j = 1; j < i+1; j++) {
while(randoms[i]==randoms[i-(j)] || randoms[i]==randoms[0]){
System.out.print(i+" , "+j+" "+(i-j)+" * "+randoms[i]);
System.out.println();
randoms[i] = (int)(Math.random()*21);
times[i]=1+times[i];
}
}
JOptionPane.showMessageDialog(null, randoms[i]+" "+times[i]);
しかし:
私はこのコードを持っています。 このエラーを解決するにはどうすればよいですか?
あなたソリューションが最適です。代わりに20のints 1-20の配列を作成し、Fisher-Yatesをシャッフルします –