如何在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));
}
}
}
答案 0 :(得分:2)
int maxRand = ThreadLocalRandom.current().ints(5, 10, 101).max().getAsInt();
This question涵盖了要点,但我们改称为.max().getAsInt()
。调用.getAsInt()
是安全的,因为我们知道流是非空的,因此会有最大值。
您也可以按照链接答案的建议使用new Random()
,但是除非您有充分的理由手动构建ThreadLocalRandom.current()
实例,否则我将默认使用Random
。
答案 1 :(得分:1)
您已经了解了“ Generate random int's”位。现在,您需要的是“没有数组的那些”的最大值。
由于无法将它们存储在数组中,因此仍然可以使用临时变量
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上不建议使用此类问题。