[resolvido] Problemas com indice de Array!

[b]Boa tarde pessoal!

Eu estou resolvendo neste momento uma lista de exercícios para estudo. E estou com um probleminha chato, que creio eu seja relacionado a classe Scanner.
Segue abaixo o código:
[/b]

[code]import java.util.Scanner;
public class ExercicioVetUm {

public static void main(String args[]) {
	
	String n[] = new String [10];
	int informado = 0;
	Scanner input = new Scanner(System.in);
	
	
	System.out.println( "  - Informe 10 nomes: ");
	
	for (int i = 0; i < n.length; i++){
		n[i] = input.nextLine();
	}
	
	do{
	
	System.out.println( " - informe um indice para busca do nome: ");
    informado = input.nextInt();
		 
		
	if (informado != -1){
		System.out.println(" - O numero procurado é: " + n[informado]);
		}
	
	
	System.out.println(" - Para sair digite -1 - ");
	informado = input.nextInt();
				    	
	}while(informado != -1);
}

}[/code]

O problema se da quando tento digitar a sexta posição do array, aparece a seguinte mensagem:

Exception in thread “main” java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:840)
at java.util.Scanner.next(Scanner.java:1461)
at java.util.Scanner.nextInt(Scanner.java:2091)
at java.util.Scanner.nextInt(Scanner.java:2050)
at ExercicioVetUm.main(ExercicioVetUm.java:28)

[b]Já tentei resolver, mas sem sucesso algum. Será que alguem pode me da uma ajuda?

Obrigado.[/b]

Esse erro acontece quando você pede um inteiro, no seu caso usando o ‘input.nextInt()’, e no console digita um valor que não é inteiro, causando incompatibilidade de tipos. Você teria que tratar isso para ter certeza que o usuário digitou mesmo um valor inteiro.

não deu problema algum aqui

  - Informe 10 nomes: 
1
2
3
4
5
6
7
8
9
0
 - informe um indice para busca do nome: 
1
 - O numero procurado é: 2
 - Para sair digite -1 - 
0
 - informe um indice para busca do nome: 
6
 - O numero procurado é: 7
 - Para sair digite -1 - 
0
 - informe um indice para busca do nome: 
11
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11
	at ExercicioVetUm.main(ExercicioVetUm.java:24)

Aqui funcionou, mas alterei um pouco:

[code]import java.util.Scanner;

public class ExercicioVetUm {

public static void main(String args[]) {

	String n[] = new String[10];
	int informado = 0;
	Scanner input = new Scanner(System.in);

	System.out.println("  - Informe 10 nomes: ");

	for (int i = 0; i < n.length; i++) {
		n[i] = input.nextLine();
	}

	do {

		System.out.println(" - informe um indice para busca do nome: ");
		System.out.println(" - Para sair digite -1 - ");
		informado = input.nextInt();

		if (informado != -1) {
			System.out.println(" - O numero procurado é: " + n[informado]);
		}

	} while (informado != -1);
}

}[/code]Boa sorte!

[b]Estranho pessoal, eu estava usando o “JCreator” e ocorria este problema, foi so passar o código para o Eclipse que não ocorreu mais problema. Vai lá sabe o que ta rolando
auhauhahuahahhauhahauhaahuauuahauh

Se alguém souber vamos discutir sobre o assunto.

Abraços. :slight_smile: [/b]