java中math.random()随机生成的数怎么全是0?

如题所述

楼主我估计你是这样操作了
(int)(Math.random()),所以出现都是0

random()方法,是返回一个[0,1)的浮点数。
一般我们是这样运用的,比如我要取一个1~9的随机数
int a=(int)(Math.random()*10)
注意是是乘上10再转。
但不是
int a=(int)(Math.random())*10

因为你的=(int)(Math.random())值永远为0,0乘上任何数都会是0
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-23
public class test16 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a=new int[10];//定义初始化一个10元素的整型数组a
int max;
int min;
for(int i=0;i<9;i++){
a[i]=(int)(10*Math.random());//取10以内的整数给数组a赋值
System.out.println(a[i]);
}
max=a[0];

for(int i=0;i<9;i++){
if(max<a[i]) max=a[i];
}

min=a[0];
for(int i=0;i<9;i++){
if(min>a[i]) min=a[i];
}
System.out.print("数组最小值是");
System.out.println(min);
System.out.print("数组最大值是");
System.out.println(max);
}

}

第2个回答  2012-04-23
(int)(Math.random()*100) 正确
(int)Math.random()*100 等于 0
第3个回答  2011-09-22
random()方法是生成0-1之间的小数,,,你要是赋给一个整数,输出稳定是0。。
System.out.println(Math.random()); 直接这样输出
第4个回答  2011-09-22
math.Random() 表示 [0~1)
相似回答