如何在numberset之间生成Java Rand()输出

如何在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

所以我需要使用Java标准集合输出-50到+50之间的随机数 然后将这些数据输入ArrayList,并按第一次升序和第二次降序排序

我知道如何进行输入和排序,但考虑到必须由for do循环逐个输入到ArrayList中,如何生成-50到50之间的随机数

注意:这个问题是为了考试,所以即使for-do循环(作为一个迭代)导致开销,我仍然需要遵循这些指导原则


非常感谢

如果你想要整数,那么我会做的

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,我编辑了我的答案以引用javadoc
randInt(101)
返回范围为[01100]的整数,
…-50
将范围移到[-50,50]。@DodoSerebro,我编辑了我的答案,引用了javadoc
randInt(101)
返回范围为[01100]的整数,
…-50
将该范围移动到[-50,50]。