/ / ArrayIndexOutOfBoundsException calculando a média - java, matrizes, indexoutofboundsexception

ArrayIndexOutOfBoundsException computando a média - java, arrays, indexoutofboundsexception

Estou trabalhando neste livro de Randall S. Fairman, Astronomia 3D com Java, tendo experiência limitada em Java. Ele usa essa classe LineReader em vez de Scanner ou qualquer outra coisa para receber informações do usuário. O exercício em que estou preso pede que você use o LineReader para obter valores para uma matriz e encontrar a média dos valores na matriz. Foi isso que eu criei, fazendo o meu melhor, e não funciona. Quando tento executá-lo, diz

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

Código:

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);

}
}

Respostas:

0 para resposta № 1

Você não precisa do int[]M = new int[i]; linha.

Apenas faça sum += i;

Seu código atualizado:

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);

}
}