こんにちは私は、Javaで乱数の分布をチェックするプログラムを作ろうとしています。 プログラムのアイデアは、(Javaを使用して)多くの乱数を生成し、次の範囲のそれぞれにあるどのように多くの番号を参照することである。ランダム性チェッカーをより効率的にする方法
- 0.0から0.1
- 0.1から0.2
0.2から0.3
...
0.8から0.9
0.9から1.0
私はこれを行うために管理しているが、それを行うには、より効率的な/迅速な方法がある場合、私は思っていました。
public class RandomTest
{
//Get value of digit in tenths place of double
public static int getFirstDecimal(double num)
{
return (int) (num * 10);
}
public static void main(String args[])
{
int[] results = new int[10]; //Results array
double x; //Random number holder
int genNum; //Number of random numbers to generate
for(genNum = 0; genNum < 10000; genNum++)
{
x = Math.random();
results[getFirstDecimal(x)]++;
}
for(int i = 0; i < 10; i++)
{
System.out.println(results[i]);
}
}
}
'getFirstDecimal()'はとてもシンプルで、1行のコードからしか呼び出せないので、インライン化する方が少し効率的です。 –
それ以外は、何かをカットする余地がどこにあるのか、必要以上に多くの仕事をしているところはわかりません。 –
数字がランダムであるかどうかはどうやって決めるのですか? –