/ / ArrayIndexOutOfBoundsException обчислює середнє - java, масиви, indexoutofboundsexception

ArrayIndexOutOfBoundsException обчислює середнє значення - java, масиви, indexoutboundsexception

Я працюю над цією книгою Рендалла С. Fairman, 3D-астрономія з Java, маючи обмежений досвід роботи з самим Java. Він використовує цей клас LineReader замість Сканера або що-небудь для введення користувачем. Вправа, на яку я затримався, просить вас використати LineReader для отримання значень для масиву та пошуку середнього значення в масиві. Це те, що я придумав, роблячи все можливе, і це не працює. Коли я намагаюся запустити його, воно говорить

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at Average.main(Average.java:10)

Код:

import ui.LineReader;

public class Average {

public static void main(String[] args) {
int average;
int sum = 0;
for (int j = 0; j < 5; j++) {
int i = LineReader.queryInt("Give me a number: ");
int [] M = new int [i];
sum = sum + M[i];
}
average = sum/5;
System.out.println("The average of those numbers is " +average);

}
}

Відповіді:

0 для відповіді № 1

Ви не потребуєте int[]M = new int[i]; лінія

Просто робіть sum += i;

Ваш оновлений код:

import ui.LineReader;

public class Average {

public static void main(String[] args) {
int average;
int sum = 0;

for (int j = 0; j < 5; j++) {
int i = LineReader.queryInt("Give me a number: ");
sum += i;
}

average = sum/5;
System.out.println("The average of those numbers is " +average);

}
}