Boas pessoal queria so que me explicassem o porque deste erro:
“Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 10
at test.main(test.java:19)”
o programa que fiz tem como objectivo de tirar a media e a moda(valor mais frequente do array) onde reside o meu problema, ele a media tira sem problemas, o prog é este:
public class test {
public static void main(String[]args){
Scanner kbd=new Scanner(System.in);
double[] a=new double[10];
double soma=0,media;
for(int i=0;i<a.length;++i){
a[i]=kbd.nextInt();
soma=soma+a[i];
}
media=soma/10;
System.out.println("media:"+media);
int j=0;
do{
if(a[j]==a[j+1])
System.out.print("moda: "+(int)a[j]+"");
j=j+1;
}while(j><a.length);
}
}
se me puderem ajudar agradecia.
Obrigado>
EDIT - (Moderador)
Ponha um título mais descritivo que “Problema” ou “Help” ou “Socorro”.
Use os tags [ code ] - há um botãozinho [ code ] bem na linha “Corpo da Mensagem”. Basta clicar uma vez antes de postar seu código, e uma vez depois.
primeiro vou te dar umas dicas sobre o forum…
coloca seu codigo dentro da tag code p/ melhor compreensão
e o título do tópico, coloque sempre algo mais objetivo…
acho q o seu while tem algo errado, nao seria assim o seu codigo??
[code]public class test {
public static void main(String[]args){
Scanner kbd=new Scanner(System.in);
double[] a=new double[10];
double soma=0,media;
Vc esta tentando acessar um indice alem do seu array, se vc declarou-o como tendo tamanho 10, ele vai de 0 a 9, tipicamente vc esta tendo um problema inesperado em alguma ponta da sua lógica
Verifique as bordas. Não é legal acessar o elemento 1024 de uma matriz que vai até 100 – aprendi isso duramente na prática