em um dos vários exercícios q estou fazendo, esse aki tá me dando dor de cabeça, na linha indicada ele da o erro <i>java.lang.arrayIndeOutOfBoundsExeption</i>:-W… Da um help ae Galera… :-]
P.S: Qnd eu retiro a função ordenar() ele funciona mas, claro, naum ordena a saida…
import javax.swing.*;
import java.awt.Container;
public class numero06 extends JApplet {
JTextArea ta;
public void init(){
int[] resultado = new int[13];
for(int counter = 1; counter <= 36000; counter++)
switch(rolar_dados()) {
case 2: resultado[2]++;break;
case 3: resultado[3]++;break;
case 4: resultado[4]++;break;
case 5: resultado[5]++;break;
case 6: resultado[6]++;break;
case 7: resultado[7]++;break;
case 8: resultado[8]++;break;
case 9: resultado[9]++;break;
case 10: resultado[10]++;break;
case 11: resultado[11]++;break;
case 12: resultado[12]++;break;
}
ordena(resultado);
String texto = "Valores da Soma de 2 dados rolados 36000 vezes\n\n";
for(int counter = 2; counter < resultado.length; counter++)
texto += "O Valor " + counter + " ocorreu " + resultado[counter] + " vezes.\n";
Container c = getContentPane();
ta = new JTextArea(15,30);
ta.setText(texto);
c.add(ta);
}
public int rolar_dados() {
int valor1 = 1 + (int)(Math.random() * 6);
int valor2 = 1 + (int)(Math.random() * 6);
int soma = valor1 + valor2;
return soma;
}
public void ordena(int[] vetor) {
for(int counter = 2 ; counter < vetor.length ;counter++) {
for(int counter2 = 2; counter2 < vetor.length - counter ; counter2++) {
if(vetor[counter2] > vetor[counter2+1]) {
troca(vetor,vetor[counter2],vetor[counter2 + 1]);
}
}
}
}
public void troca(int[] v, int primeiro, int segundo) {
int foo = v[primeiro]; // :-W Erro Aki! :-W
v[primeiro] = v[segundo];
v[segundo] = foo;
}
}
[ Esta mensagem foi editada por: VictorjF em 12-04-2003 02:02 ]
Java.lang.arrayIndexOutOfBoundsExeption Erro!
V
2 Respostas
B
Substitua a linha
| Code: |
troca(vetor,vetor[counter2],vetor[counter2 + 1]); |
por
| Code: |
troca(vetor,counter2,counter2 + 1); |
(Você estava passando o próprio elemento da array, um número gerado pelo random, como index, ao invés de passar o index)
V
Ae, Vlw msm…

Criado 12 de abril de 2003
Ultima resposta 13 de abr. de 2003
Respostas 2
Participantes 2