Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要打印随机数数组java的元素数、总数和平均数_Java - Fatal编程技术网

需要打印随机数数组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();