如何在numberset之间生成Java Rand()输出
所以我需要使用Java标准集合输出-50到+50之间的随机数 然后将这些数据输入ArrayList,并按第一次升序和第二次降序排序 我知道如何进行输入和排序,但考虑到必须由for do循环逐个输入到ArrayList中,如何生成-50到50之间的随机数 注意:这个问题是为了考试,所以即使for-do循环(作为一个迭代)导致开销,我仍然需要遵循这些指导原则如何在numberset之间生成Java Rand()输出,java,random,arraylist,Java,Random,Arraylist,所以我需要使用Java标准集合输出-50到+50之间的随机数 然后将这些数据输入ArrayList,并按第一次升序和第二次降序排序 我知道如何进行输入和排序,但考虑到必须由for do循环逐个输入到ArrayList中,如何生成-50到50之间的随机数 注意:这个问题是为了考试,所以即使for-do循环(作为一个迭代)导致开销,我仍然需要遵循这些指导原则 非常感谢如果你想要整数,那么我会做的 myRandom.nextInt(101) - 50 应使用[-50,50]中的平坦分布生成伪rang
非常感谢如果你想要整数,那么我会做的
myRandom.nextInt(101) - 50
应使用[-50,50]中的平坦分布生成伪rangom整数
公共int nextInt(int n)
返回从该随机数生成器的序列中提取的0(包含)和指定值(排除)之间的伪随机、均匀分布的int值。nextInt的一般约定是伪随机生成并返回指定范围内的一个int值。所有n个可能的int值以(近似)相等的概率产生
如果你想要整数,那么我会去做
myRandom.nextInt(101) - 50
应使用[-50,50]中的平坦分布生成伪rangom整数
公共int nextInt(int n)
返回从该随机数生成器的序列中提取的0(包含)和指定值(排除)之间的伪随机、均匀分布的int值。nextInt的一般约定是伪随机生成并返回指定范围内的一个int值。所有n个可能的int值以(近似)相等的概率产生
可以在从0开始的范围内生成随机数,如下所示:
Random randomGenerator = new Random();
int randomInt=randomGenerator.nextInt(101); //This function generate number in range 0 to 100.
randomInt -= 50; //It will give you number between -50 to 50
可以在从0开始的范围内生成随机数,如下所示:
Random randomGenerator = new Random();
int randomInt=randomGenerator.nextInt(101); //This function generate number in range 0 to 100.
randomInt -= 50; //It will give you number between -50 to 50
还有另一种方式
要生成随机双精度:
Math.random()
例如,生成小于100的随机双精度
Math.random()*100
您可以将结果强制转换为所需的任何数字类型
您可以像这样生成一个结果
double r = Math.random()*50
if(r % (int)(Math.random()*10 == 2){
r = r*-1;
}
类似这样的事情还有另一种方式
要生成随机双精度:
Math.random()
例如,生成小于100的随机双精度
Math.random()*100
您可以将结果强制转换为所需的任何数字类型
您可以像这样生成一个结果
double r = Math.random()*50
if(r % (int)(Math.random()*10 == 2){
r = r*-1;
}
诸如此类你想要什么样的“数字”?整数?双打?(对于这类任务,for循环的
很好;集合会增加开销。)您看过java.util.Random的文档了吗?Mike Samuel回答道:谢谢大家。)。它们最初是整数,所以使用nextInt(int n)应该涵盖它!你想要什么样的“数字”?整数?双打?(对于这类任务,for
循环的很好;集合会增加开销。)您看过java.util.Random的文档了吗?Mike Samuel回答道:谢谢大家。)。它们最初是整数,所以使用nextInt(int n)应该涵盖它@DodoSerebro,我编辑了我的答案以引用javadocrandInt(101)
返回范围为[01100]的整数,…-50
将范围移到[-50,50]。@DodoSerebro,我编辑了我的答案,引用了javadocrandInt(101)
返回范围为[01100]的整数,…-50
将该范围移动到[-50,50]。