Problema for com Array java

2 respostas
Diego_Fernandes_Lins

Olá galera… sou meio novo em programação em Java, estou com um problema em um código de array. Pelo que me aparece está todo certo porém quando termina o loop dá um erro que não entendi.

Scanner in = new Scanner(System.in);

int n = in.nextInt();

Contatos[] vect = new Contatos[n];
for(int i = 0; i<=vect.length; i++) {
		in.nextLine();
		String nome = in.nextLine();
		int numero = in.nextInt();
		vect[i] = new Contatos(nome, numero);		
	}

2 Respostas

staroski

Ou você adiciona uma chamada ao nextLine() após qualquer nextInt()

Ou substitua

in.nextInt()

Por

Integer.parseInt(in.nextLine())

Se ler a documentação do Scanner, vai descobrir que o único método que consome o caractere de quebra de linha é o nextLine().

Então se você chama o nextInt() e em seguida o nextLine(), você não estará lendo uma nova linha, estará simplesmente lendo a quebra de linha que foi gerada ao pressionar ENTER após digitar um número.

Diego_Fernandes_Lins

obrigado mano, consegui usei Integer.parseInt(in.nextLine()), onde eu tinha colocado os int. e funcionou. vlw mesmo, vou usar mais esse comando.

Criado 28 de maio de 2020
Ultima resposta 29 de mai. de 2020
Respostas 2
Participantes 2