Erro desconhecido

3 respostas
Mstanguine

Bom dia a todos!

Primeira vez que posto aqui no forum, e gostaria da ajuda de vocês. =)
Sou beeeem iniciante em Java, estava fazendo uma classe para apenas quando o "usuario" digita um numero, aparece o dia da semana referente a ele. Isso é mais para testar o método Switch.

Mas acontece que esta apresentando um erro.
Antes de poostar o código, gostaria de deixar claro, que a intenção não é somente fazer o proposito do programa, mostrar o dia da semana referente o numero digitado, pois para isso fazendo de outra forma eu consegui, mas a intenção é fazer funcionar da forma que vou postar:

import javax.swing.JOptionPane;

public class Semana {
  public static void main(String[] args){
	  int dds;
	  String i[] = new String [6];
	  i[0] = "domingo";
	  i[1] = "segunda";
	  i[2] = "terça";
	  i[3] = "quarta";
	  i[4] = "quinta"; 
	  i[5] = "sexta";
	  i[6] = "sabado";
	  dds = Integer.parseInt(JOptionPane.showInputDialog("Digite o numero: "));
	  switch(dds){
	  case 1: JOptionPane.showMessageDialog(null, "O dia é "+i[0], "Semana", JOptionPane.INFORMATION_MESSAGE);
	  break;
	  case 2: JOptionPane.showMessageDialog(null, "O dia é "+i[1], "Semana", JOptionPane.INFORMATION_MESSAGE);
	  break;
	  case 3: JOptionPane.showMessageDialog(null, "O dia é "+i[2], "Semana", JOptionPane.INFORMATION_MESSAGE);
	  break;
	  case 4: JOptionPane.showMessageDialog(null, "O dia é "+i[3], "Semana", JOptionPane.INFORMATION_MESSAGE);
	  break;
	  case 5: JOptionPane.showMessageDialog(null, "O dia é "+i[4], "Semana", JOptionPane.INFORMATION_MESSAGE);
	  break;
	  case 6: JOptionPane.showMessageDialog(null, "O dia é "+i[5], "Semana", JOptionPane.INFORMATION_MESSAGE);
	  break;
	  case 7: JOptionPane.showMessageDialog(null, "O dia é "+i[6], "Semana", JOptionPane.INFORMATION_MESSAGE);
	  break;
	  default: JOptionPane.showMessageDialog(null, "Erro", "Semana", JOptionPane.INFORMATION_MESSAGE);
	  }
	  
	  
  }
}

O erro que aparece:

"Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
at trabs.Semana.main(Semana.java:14)"

Por gentileza, quem puder me ajudar agradeço.
E a vontade para corrigirem caso eu esteja postando de forma errada aqui no forum, como disse essa é a primeira vez que posto.

Grato!

3 Respostas

pmlm

O teu array tem 7 posições e não 6.

String i[] = new  String [7];
Mstanguine

Muito obrigado!!
Falta de atenção completa minha.

Obrigado mesmo.

Marky.Vasconcelos

E outra… reparou que seu código pode ser simplesmente assim:

import javax.swing.JOptionPane;

public class Semana {
  public static void main(String[] args){
	  String i[] = { "domingo", "segunda", "terça", "quarta", "quinta", "sexta", "sabado"};
	 int  dds = Integer.parseInt(JOptionPane.showInputDialog("Digite o numero: "));
               JOptionPane.showMessageDialog(null, (dds > 7)?"Erro" : "O dia é "+i[dds-1], "Semana", JOptionPane.INFORMATION_MESSAGE);
	  
  }
}

Mas acho que é trabalho de faculdade por isso o switch… mas sempre tem algo melhor para se fazer.

Criado 11 de maio de 2010
Ultima resposta 11 de mai. de 2010
Respostas 3
Participantes 3