因此,下面是一个脚本,该脚本将生成n
个数量在1到100之间的随机数的列表。我需要找到它,在运行脚本后,还可以识别命令提示符下生成的随机数的max
和min
。我一直遇到这个问题,它只会将数字重复2次。 n= 2: 12 12 12 43 43 43 22 22 22
我认为我的问题是,当我使用int min = Math.min(b,b);
时,for循环也想重复该部分。但是,如果我把它放在脚本之外,那么我将不再使用变量b。
int n = Integer.parseInt(args[0]);
for(int i = 0; i < n; i++)
{
int b = (int)(Math.random() * (100 - 1)) + 1;
System.out.println(b);
}
答案 0 :(得分:1)
如果您坚持使用数学库,则应将第一个数字视为min和max。
int n = Integer.parseInt(args[0]);
int max = 0;
int min = 0;
for(int i = 0; i < n; i++){
int b = (int)(Math.random() * (100 - 1)) + 1;
if(i == 0){
min = b;
max = b;
}else{
min = Math.min(min,b);
max = Math.max(max,b);
}
System.out.println(b);
}
System.out.println(String.format("Min:%d , Max:%d",min,max));
答案 1 :(得分:0)
Random
类可以生成个随机数流(使用
下/上限)。 IntSteam
收集到IntSummaryStatistics
中,它们提供有关流式数据的最小/最大/平均/总和/计数信息。 将所有这些结合在一起,可以得到一个简单而优雅的解决方案:
int n=Integer.parseInt(args[0]);
IntSummaryStatistics statistics = new Random()
.ints(1, 100)
.limit(n)
.map(i -> {
System.out.println(i);
return i;
}).summaryStatistics();
System.out.println("min: " + statistics.getMin());
System.out.println("max: " + statistics.getMax());
答案 2 :(得分:-1)
首先,您所提问题中的脚本脚本是指编程语言(javascript)吗? 或您的意思是单词脚本(可能在Java中,我们称其为类或程序,而不是脚本,单词脚本主要用于python中) 快速简便的方法是将生成的元素推入数组并对其进行排序
d3.select(this)
.selectAll("text")
.remove();