JAVA如何固定随机数数位

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA如何固定随机数数位相关的知识,希望对你有一定的参考价值。

下面是一个获得随机数的核心代码:int i=(int)Math.round(Math.random()*a);其中的a是确实最多数位的.a=10 最多2位a=100 最多3位以此类推.我是想获得固定X位随机数.X根据输入数值确实.意思就是说要固定 获得1个几位的数. 不是最多多少位.这代码怎么改

参考技术A public class test
public static void main(String[] args)

int x = 1;
int b = x == 1 ? 0 : (int)Math.pow(10, x-1);
int f = (b == 0 ? 1 : b)*10 - b;
for(int i = 0; i < 100; ++i)
System.out.print(b + (int)(Math.random() * f) + " ");



算出来的b是基数,f是要乘的数,比如2位数,b = 10,f = 90,(int)Math.random()*n返回0~n-1之间的数,所以乘完之后返回的是0~89,加上10就是10~99了,由于算b和f对于1位的情况有点特殊,10^0 != 0而是1,所以被单独分开处理。
参考技术B int i=(int)Math.round(Math.random()*9)这样算出来的是1位0至9的随机数,你要固定几位就做几个循环 参考技术C int i=pow(10,x-1)+(int)Math.round(Math.random()*pow(10,x-1)*9);

excel表格中如何使随机数相加成一个固定值?

下面以“要求生成25个随机数,使它们总和为2600”为例,详细展示 Excel 表格中如何使随机数相加成一个固定值的操作步骤。

1、首先得确定第一个随机数A1的值(注:A1的值=总和÷个数),本例中A1=2600÷25=104,但实际操作过程中往往取较大的数,并且取好一点的数值才会满足要求,本例中A1取值108;

2、在A2中输入:=INT($A$1*(0.9+0.1*RAND()));

3、把A2单元格右下角下拉至A24;【即将A2的公式复制到倒数第二个单元格】

4、在最后一个单元格输入:=总和-SUM(A1:A??)【注:“A??”表示倒数第二个单元格】,在本例中A25:=2600-SUM(A1:A24);

5、如产生的结果不满意,按快捷键“F9”刷新数据,直到满意数据为止。

最后说明一下所用到相关函数的功能,本例中用到的函数有--INT()、RAND()、SUM():

①INT():取整用的,有的时候数据要求结果是整数,就需要用到。当然,有的时候要求保留2位小数之类的,那么就需要结合ROUND()函数一起使用;

②RAND() :rand()函数可生成 0-1 之间(不包含 1)的随机小数,rand()变化成其他形式会有更多的随机数产生;【注:本例中用“0.9+0.1*RAND()”形式,意指要产生0.90~0.99之间的数,这样控制是为了能让最后结果差不多】

③SUM():求总和公式。

参考技术A

1、生成第一个随机数。在E2单元格内输入公式“=ROUNDUP(RAND()*2*(100-SUM($E$1:E1))/(11-ROW(E1)),1)”生成第一个随机数。

2、调整有效数字位数。下图红框中的数字控制着随机数有效数字位数,如果想保留三位有效数字,将其改成3即可。

3、拉伸填充E2到E10。点击E2右下角的黑点,鼠标变成十字形,拖往E10单元格,这样就填充了E2到E10单元格。

4、生成最后一个随机数。在E11单元格内输入公式“=100-SUM(A2:A10)”,生成最后一个随机数。

参考技术B

可以利用迭代计算来解决这个问题,本文以用公式生成10个和值为1000,且范围在80-120之间的随机整数为例,说明Excel中用迭代计算的解决方法。

1.启用迭代计算。在Excel2013中,单击“文件→选项→公式”,勾选“启用迭代计算”,根据实际需要调整“最多迭代次数”数量,本例为默认的“100”,将“误差”设为“0”。

2.在A2单元格输入公式: =RANDBETWEEN(80,120)

3.在A3单元格输入公式:=IF(SUM(A$2:A$11)=1000,A3,RANDBETWEEN(80,120))

4.然后拖动填充柄填充公式到A11单元格。这时即可得到10个和值为“1000”,且范围在80-120之间的随机整数。

以上是关于JAVA如何固定随机数数位的主要内容,如果未能解决你的问题,请参考以下文章

java中如何产生固定范围的随机数

java中如何产生固定范围的随机数

java中如何产生固定范围的随机数

在SQL中怎么样获取随机数

JAVA工具类cn.hutool.core.util.RandomUtil,随机数生成,用它就够了!

java产生随机数我怎么固定长度???