Ler Strings em Repetição

1 resposta
F

Olá, gostaria de ler strings dentro de uma repetição. Como no exemplo abaixo:

for (i=0; i<=4; i++) {
            System.out.print(i+1 + "º Nome: ");
            nome[i] = entrada.nextLine();
            System.out.print("Idade: ");
            idade[i] = entrada.nextInt();
        }

Porém, o nome é lido somente na primeira vez. Nas seguintes, apenas a idade. Já encontrei uma solução colocando a declaração de entrada dentro do for (ou usando entrada.next() - que não aceita espaços…). Mas, será que não existe outra forma? (algo como o flushall() do C?)

for (i=0; i<=4; i++) {
            Scanner entrada = new Scanner(System.in);
            System.out.print(i+1 + "º Nome: ");
            nome[i] = entrada.nextLine();
            System.out.print("Idade: ");
            idade[i] = entrada.nextInt();
        }

Desde já, agradeço qualquer contribuição.

1 Resposta

B

nextInt não serve para ler do teclado, use o nextLine, e converta um Integer.parseInt()

Criado 27 de julho de 2009
Ultima resposta 27 de jul. de 2009
Respostas 1
Participantes 2