double randomValue = Math.random();
可用 Math 类中的 random 方法来产生一个0.0到1.0的 随机数
比例缩放——使用乘法运算符(*)与random 一起
ex:
n = a + ( int ) ( Math.random() * b )
其中,a是位移值(期望的连续整数范围的第一个数值),b是比例因子(期望的连续整数的宽度)。
写了个掷骰子的小程序
//test the probability of a roll dice
import java.applet.Applet;
import java.awt.Graphics;
public class RandomTest extends Applet{
int counter1 = 0, counter2 = 0, counter3 = 0;
int counter4 = 0, counter5 = 0, counter6 = 0;
int result;
//display the result
public void paint( Graphics g )
{
g.drawString( "number", 75, 75 );
g.drawString( "times", 150, 75 );
g.drawString( "1", 75, 90 );
g.drawString( Integer.toString( counter1 ), 150, 90 );
g.drawString( "2", 75, 105 );
g.drawString( Integer.toString( counter2 ), 150, 105 );
g.drawString( "3", 75, 120 );
g.drawString( Integer.toString( counter3 ), 150, 120 );
g.drawString( "4", 75, 135 );
g.drawString( Integer.toString( counter1 ), 150, 135 );
g.drawString( "5", 75, 150 );
g.drawString( Integer.toString( counter1 ), 150, 150 );
g.drawString( "6", 75, 165 );
g.drawString( Integer.toString( counter1 ), 150, 165 );
}
//roll dice
public void start()
{
for ( int i = 0; i < 6000; i++) {
result = 1 + ( int ) ( Math.random() * 6 );
switch ( result )
{
case 1:
counter1++;
break;
case 2:
counter2++;
break;
case 3:
counter3++;
break;
case 4:
counter4++;
break;
case 5:
counter5++;
break;
case 6:
counter6++;
break;
}
repaint();
}
}
}
测试结果