사용자가 입력 한 배열로 이동 평균을 계산하는 프로그램을 작성해야합니다. 배열의 첫 번째 요소는 창 크기이며 입력은 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
012에서 종료하는 방법을 잘 모르겠어요
작동하지만 사용자 입력 배열에서 작동해야합니다. – Lukas
업데이트 된 답변보기 이것은 공백으로 구분 된 숫자 목록을 허용합니다. – LppEdd
그래서이 줄에 대해 'final int [] numbers = Arrays.stream (SCANNER.nextLine(). trim(). split ("")). mapToInt (Integer :: parseInt) .toArray();'어쨌든 거기에 있나요? 그것을 변경하여 배열 클래스를 사용하지 않습니까? 이 과제는 초급 자바 클래스를위한 것이고 우리는 아직 그 주제를 다루지 않았다. – Lukas