如何在Java中生成10到100之间的5个随机数的列表,并在不使用数组的情况下打印最大的随机数?
public class Random {
public static void main(String[] args){
for(int i = 0; i < 5; i++){
System.out.println((int)((Math.random() * 91) + 10));
}
}
}
你已经有了“生成随机int”的位。现在你需要的是“没有数组的最大值”位。
由于无法将它们存储在数组中,因此仍可以使用临时变量
public static void main(String[] args){
int tempMax = 0;
for(int i = 0; i < 5; i++){
...
使用它,我们可以在循环之外保存一个值。现在我们需要将我们的临时值与我们生成的值进行比较,看看我们是否生成了更大的值。
for(int i = 0; i < 5; i++){
int newValue = (int)((Math.random() * 91) + 10);
if (newValue > tempMax) {
// code goes here
}
注意:重要的是tempMax
的起始值小于您生成的值(在本例中为10)。否则,您可能会生成一串-1
,并且您的最大值将报告为0。
在那之后,这只是一个简单的任务
if (newValue > tempMax) {
tempMax = newValue;
}
共
class Random {
public static void main(String[] args) {
int tempMax = 0;
for(int i = 0; i < 5; i++){
int newValue = (int)((Math.random() * 91) + 10);
if (newValue > tempMax) {
tempMax = newValue;
}
}
int max = tempMax;
System.out.println("Max value" + max);
}
}
这看起来像是家庭作业,所以我试图在如何做到这一点的背后思考过程。尽管如此,学习搜索Google(以及在您的技能水平上查找文档)是一项重要技能,因为Stack Overflow不鼓励这样的问题。
int maxRand = ThreadLocalRandom.current().ints(5, 10, 101).max().getAsInt();
This question涵盖了要点,但我们称之为.max().getAsInt()
。调用.getAsInt()
是安全的,因为我们知道流是非空的,因此会有一个最大值。
您也可以使用new Random()
,如链接的答案所示,但我默认使用ThreadLocalRandom.current()
,除非您有充分的理由手动构建Random
实例。