class RandomFloat {
public static void main(String[] args) {
for(int i =0; i<3; i++) {
for(;;) {
int i30 = (int)(Math.random()*30 *100);
//System.out.println(i30);
double t = i30/100.00;
if(t>20 && t<30) {
System.out.println(t);
break;
}
}
}
}
}
我遍了一段 太复杂了, 有简单些的方法吗?
public static void main(String[] args) {
for(int i =0; i<3; i++) {
for(;;) {
int i30 = (int)(Math.random()*30 *100);
//System.out.println(i30);
double t = i30/100.00;
if(t>20 && t<30) {
System.out.println(t);
break;
}
}
}
}
}
我遍了一段 太复杂了, 有简单些的方法吗?
private double data;
//method 2
//private Random r; public RandomNum() {
data = 0.0;
//method 2
//r = new Random(Calendar.getInstance().getTimeInMillis());
} public double getRandomNum() {
//method 1
data = Math.random();
//method 2
//data = r.nextDouble();
data = 20 * (Math.abs(data) < 0.5 ? 1 - data : data);
return data;
} public static void main(String[] argv) {
RandomNum randomNum = new RandomNum();
for (int i = 0; i < 10; i++) {
System.out.println(randomNum.getRandomNum());
}
System.out.println('\n');
}
}
Math.random()*10+10
Math.random()*10+10;
////////////////////////
Math.random( ) 说明 产生的伪随机数介于 0 和 1 之间(含 0,不含 1),也就是,返回值可能为0,但总是小于1。
int i = ran.nextInt(20)
原来是10到20啊
那就
Random ran = new Random();
int i = 10 + ran.nextInt(10);
nextDouble