簡體   English   中英

Java 如何計算數組中數字的平均值?

[英]Java How can I calculate the average of numbers in an array?

我被我的程序困住了。 它所做的基本上是將 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);

    }

}

c添加到數組canBeDividedBySeven時,您缺少 1 部分 - 遞增c 如果你這樣做,你可以通過做(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。

祝你好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM