需要打印随机数数组java的元素数、总数和平均数
我可以打印最大数量,但需要打印元素的数量、总数和平均值这通过跟踪循环中的每个元素来计算平均值和总数:需要打印随机数数组java的元素数、总数和平均数,java,Java,我可以打印最大数量,但需要打印元素的数量、总数和平均值这通过跟踪循环中的每个元素来计算平均值和总数: package genrandom; import java.util.Random; public class GenRandom { static int maxNumber = 0; public static int GenRandom() { return new Random().nextInt(899)+100; } public stati
package genrandom;
import java.util.Random;
public class GenRandom {
static int maxNumber = 0;
public static int GenRandom() {
return new Random().nextInt(899)+100;
}
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
int randomNumber = GenRandom();
if (randomNumber > maxNumber) {
maxNumber = randomNumber;
}
System.out.println(randomNumber);
}
System.out.println("The greatest file size is: " + maxNumber + "MB");
} // TODO code application logic here
}
作为参考,这可以通过使用streams Java 8轻松解决:
public static void main(String[] args) {
int numbers = 0; // How many random numbers have been generated
double total = 0; // Total of all random numbers
for (int i = 0; i < 10; i++) {
int randomNumber = GenRandom();
if (randomNumber > maxNumber) {
maxNumber = randomNumber;
}
numbers++; // Add 1 to count of random numbers generated
total += randomNumber; // Add number to total
System.out.println(randomNumber);
}
System.out.println("The greatest file size is: " + maxNumber + "MB");
System.out.println("There were " + total + " total numbers");
// Average is the total divided by the amount of numbers
System.out.println("The average file size was: " + (total/numbers) + " MB");
}
然后是stats.getMax、stats.getSum和stats.getAverage。有关更多详细信息,请参阅
它也是有效的,因为它们都是一次性计算的,而不是多次迭代。你甚至可以通过调用parallel来免费获得多线程,以防你有成千上万的数字需要处理。是什么阻碍了你这么做?你在尝试中遇到了什么问题吗?我个人认为,对于初学者来说,这比使用流要好得多+1.
var stats = IntStream.generate(GenRandom::GenRandom)
.limit(10)
.summaryStatistics();