【问题标题】:Java How can I calculate the average of numbers in an array?Java 如何计算数组中数字的平均值?
【发布时间】:2020-01-10 19:56:10
【问题描述】:

我的程序卡住了。它的作用基本上是在一个数组中生成 100 个随机数。它以 4 行打印数字。之后,另一个 for 循环检查是否有数字,可以被 7 整除,并且同时是偶数。如果有,它将它们插入另一个数组。现在,我们不知道随机数组中有多少这样的数字,所以这就是我基本上坚持的地方。我有数组中数字的总和。但无法计算元素。

import static java.lang.System.out;
import java.util.Random;


public class CSharp {

    public static void main(String[] args) {
        Random r = new Random();
        int[] numbers = new int[100];
        int[] canBeDividedBySeven = new int[100];
        int c = 0;
        int sum = 0;
        int average = 0;

        out.println("Random numbers: ");
        for (int i = 0; i < numbers.length; i++) {
            numbers[i] += r.nextInt(90) + 10;

            out.print(numbers[i] + " ");
            if (i % 35 == 0) {  
                out.print("\n");
            }
        }

        out.println("\n\nNumbers that can be divided by 7 and are even: ");
        for (int j = 0; j < numbers.length; j++) {
            if (numbers[j] % 7 == 0 && numbers[j] % 2 == 0) {
                out.print(numbers[j] + " ");
                canBeDividedBySeven[c] += numbers[j];
            }
        }
        out.println("\n\nThe sum of the numbers in the 'canBeDividedBySeven': ");
        for (int y = 0; y < canBeDividedBySeven.length; y++) {
            sum += canBeDividedBySeven[y++];

        }
        out.print(sum);

    }

}

【问题讨论】:

  • 在循环之前添加一个计数器(除以7...)并在if内部增加它

标签: java arrays random sum average


【解决方案1】:

您缺少 1 个部分 - 将 c 添加到数组 canBeDividedBySeven 时递增。如果你这样做,你可以通过(double) sum / c得到平均值。

基本上你的canBeDividedBySeven数组看起来像[3283, 0, 0, 0, ..99 0's]如果你增加c(canBeDividedBySeven[c++] += numbers[j];)它看起来像[14, 28, 14, 42, ...0, 0, 0],你可以找到“大小" 带有变量 c 的数组。实际大小将始终为 100。

祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-14
    • 2013-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多