[英]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.