我需要编写一个程序,通过用户输入的数组计算移动平均值 . 数组的第一个元素是窗口大小,输入以0结尾 . 输出值在小数点后打印两位数 .
示例输入: 3 2 4 7 7 8 11 12 0
对应输出: 4.33 6.00 7.33 8.67 10.33
(4.33平均为2,4,7和6平均为4,7,7等)
到目前为止,这是我的代码:
package movingaverage;
import java.util.Scanner;
public class MovingAverage {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n];
int sum = 0;
for (int i = 0; i < n; i++) {
sum += arr[i];
}
avg[0] = sum / 5;
int j = 1;
for (int i = 5; i < arr.length; i++) {
sum = sum + arr[i] - arr[i - 5];
avg[j++] = sum / 5;
}
}
}
我认为我有正确的循环,但我不知道如何让数组在0结束 .