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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
参考技术A 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);




参考技术B (int)(Math.random()*100) 正确
(int)Math.random()*100 等于 0
参考技术C random()方法是生成0-1之间的小数,,,你要是赋给一个整数,输出稳定是0。。
System.out.println(Math.random()); 直接这样输出
参考技术D math.Random() 表示 [0~1)

JS中,输出1-10之间的随机整数,用Math.random()咋搞呢

使用Math.floor(Math.random()*10+1)函数实现。

1、floor():返回小于等于x的最大整数。

2、函数返回一个浮点,  伪随机数在范围[0,1),也就是说,从0(包括0)往上,但是不包括1(排除1)。实现将初始种子选择到随机数生成算法,它不能被用户选择或重置。

实例演示如下:

1、html代码如下,绑定生成函数:

2、函数代码如下:

2、随机演示效果如下:均为1-10之内的整数。

扩展资料:

生成不重复的10个随机数,可以用数组存储已经生成的数,新生成的数据若不在数组中就满足条件。

1、函数代码如下:

2、同理,绑定一个button用于测试:

2、演示:点击按钮直到产生10个数字。一次随机数据生产如下:(10个不重复)

参考资料:

百度百科--math.random()

参考技术A

JavaScript获取[n-m]之间的随机整数简单高效的方法:

var min = 5;
var max = 10;
var rand = Math.floor(Math.random()*(max-min+1))+min;

思路如下:

1. `Math.random() `取0-1之间的随机小数(float);

2. 然后再乘以 n-m 之间的数字个数`(max-min+1)`;

3. 然后两者相乘向下取整 `Math.floor(Math.random()*(max-min+1))`;

4. 最后再加上最小值即可:`Math.floor(Math.random()*(max-min+1))+min`。

下面是演示代码:

<script>
    let min = 5;
    let max = 15;
    let randArr = [];
    for(let i=0;i<100;i++) 
        let rand = Math.floor(Math.random()*(max-min+1))+min;
        randArr.push(rand)
    
    console.log(randArr.join(','))
</script>
> Chrome运行结果
12,14,11,13,15,8,5,15,11,7,15,11,10,11,6,5,6,12,9,
11,11,7,14,14,15,10,13,7,14,14,5,15,5,10,9,5,6,13,5,
6,15,9,11,6,11,9,15,13,14,13,8,5,8,5,10,6,15,12,12,6,
11,10,15,5,13,9,14,7,5,7,11,9,15,10,8,10,11,8,7,
13,5,11,12,12,9,8,12,6,12,6,5,15,15,7,10,9,6,12,6,8

参考技术B <script>
document.write(parseInt(10*Math.random()));  //输出0~10之间的随机整数
document.write(Math.floor(Math.random()*10+1));  //输出1~10之间的随机整数
function RndNum(n)
var rnd="";
for(var i=0;i<n;i++)
rnd+=Math.floor(Math.random()*10);
return rnd;

document.write(RndNum(4));  //输出指定位数的随机数的随机整数
引用部分:
1. 从1开始 至 任意值parseInt(Math.random()*上限+1); 2. 从任意值开始 至 任意值parseInt(Math.random()*(上限-下限+1)+下限);
function fRandomBy(under, over)
switch(arguments.length)
case 1: return parseInt(Math.random()*under+1);
case 2: return parseInt(Math.random()*(over-under+1) + under);
default: return 0;


document.write(fRandomBy(1,100));  //输出指定范围内的随机数的随机整数
</script>
参考技术C Math.randInt(1,10);
在Math里面有函数可以直接产生,不用自己写。
参考技术D var i=Math.random() //获得0-1的随机数
document.write(math.ceil(i*10)) //乘以10并向上去整

以上是关于java中math.random()随机生成的数怎么全是0?的主要内容,如果未能解决你的问题,请参考以下文章

Java 生成随机数

JS中,输出1-10之间的随机整数,用Math.random()咋搞呢

Java中Math.random()与Random类生成随机数及源码分析

java程序中Math.random();的取值范围是多少?(是0到1double型吗?)

Java中Math.random()的应用(随机生成数的应用)

随机数,Math.random();