Problemas com Array de String

2 respostas
H

Estou tentando ler uma certa quantidade linhas e colocar em vetor de String, mas o código só está lendo sempre uma linha a menos, alguém poderia verificar o que estou fazendo de errado.

Grato.

Segue o código:

Scanner input = new Scanner(System.in);
int linha;
String linhas[];

linha = input.nextInt();

linhas = new String[linha];

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

2 Respostas

Eder_Peixoto

Para entender, é necessário saber exatamente o quê o método nextLine() realiza.

Esse método “lê” a linha corrente. Quando o usuário digita um número e pressiona [ENTER], o valor digitado é armazenado na variável linha, mas o [ENTER] permanece no buffer, ou seja, na linha corrente. Quando invoca-se o método nextLine(), esse constata a existência de algum “lixo” (o [ENTER]), e retorna o que encontra para a variável linhas[i]. Ou seja, a primeira posição já é utilizada no primeiro [ENTER].

H

E como faço pra RESOLVER esse problema?

Criado 26 de setembro de 2009
Ultima resposta 26 de set. de 2009
Respostas 2
Participantes 2