[Resolvido] String e Int - Dúvida

Olá amigos, estou com um probleminha ao criar um programinha de estacionamento. Eu ainda estou no java básico e ainda nao sei gravar em arquivo nem em banco de dados e por isso estou montando como vetores, só para testar mesmo. O que acontece é o seguinte: meus vetores são de strings ou de Int. Vejam meu codigo:

Scanner entrada = new Scanner(System.in)
int i = 0; // contador
String placa[] = new String[5];
int ano[] = new int[5];
String cor[] = new String[5]
String modelo[] = new String[5]

While (i<=4)
{
System.out.println(“Digite a placa do carro”)
placa[i]=entrada.nextLine();

System.out.println(“Digite o ano do carro”)
ano[i]=entrada.nextInt();

System.out.println(“Digite a cor do carro”)
cor[i]=entrada.nextLine();

System.out.println(“Digite o modelo do carro”)
modelo[i]=entrada.nextLine();

Pois bem amigos, gostaria de dizer que eu já criei um objeto do tipo Scanner e isso já está especificado acima.

O que acontece é que depois que ele lê o ano do carro, ele já solicita a cor e o modelo ao mesmo tempo, ao invés da solicitar a cor, esperar que o usuáio digite e depois solicitar o modelo. Isso sempre está acontecendo quando solicita-se a digitação de uma String epois de um Int.

Por que acontece isso galera???

Qual é a solução??

Acreito também que eu possa estar errando em algum trecho aqui!

Aguardo retorno!

Obrigado! :idea:

Primeiro, coloque seu código entre as tags code.

Segundo,
Tive um problema desses.
Em vez de usar só entrada.nextInt(), use o seguinte:

variavelInteira = Integer.parseInt(entrada.nextInt());

Acho que isso acontece porque o buffer do teclado fica cheio e você precisa limpar ele. (acho que é isso).
Se você procurar, acha um post meu sobre isso: http://www.guj.com.br/posts/list/77982.java

Veja se resolve.
Abraço.

Olá, ainda nao consegui solucionar meu problema.

dedejava,

acho que era de se esperar que esse código qe voce me passou nao funcionasse, pelo menos eu acho. O comando “integer.parseInt” converte uma variável de outro tipo para o tipo inteiro. No meu caso eu estaria convertendo um inteiro em inteiro e por isso o Eclipse vetou.

Alguma outra dica???

Resolvi aqui!

Amigos consegui reslver meu problema colocando assim:

variavelinteira=scanner.nextInt(); Scanner.nextLine();

Isso fez com que ele lesse uma String de cada vez.

Muito obrigado ddjava.

Valew mesmo!

Pablo,

O código que escrevi recebe uma String e converte pra um Integer.
Então,

System.out.print("Digite o numero: ");
inteiro = Integer.parseInt(scanner.nextLine());

Tem razão. Confundi na hora de passar o parâmetro.

Abraço.