Я працюю над цією книгою Рендалла С. 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);
}
}