Dúvida com Scanner [RESOLVIDO]

5 respostas
brunorota

Olá galera

porque esse código lança um exceção?

Eu sei que é porque ele não acha um Int, mais porque ele não acha o Int?

String csv = "Sue,5,true,3";
 Scanner scanner = new Scanner( csv );
 scanner.useDelimiter(",");
 int age = scanner.nextInt();

Atenciosamente

5 Respostas

samuel.grigolato

O nextInt não procura “o próximo valor do tipo int” mas sim “o próximo valor, seja ele qual for, e tenta converter para int”, por isso o código não funciona.

brunorota

hummm

mais então porque aqui ele não acha nenhum int

public class Teste {

	public static void main(String aegs[]){
		
		String csv = "Sue,5,true,3";
		 Scanner scanner = new Scanner( csv );
		 scanner.useDelimiter(",");
		 
		 while(scanner.hasNextInt()){
			 
			 System.out.print(scanner.nextInt()); 
		 }
	}
}
ViniGodoy

Leia a documentação do método:

Como seu próximo token é Sue, e não um inteiro, o hasNextInt() retorna false.
Antes de usar as classes, leia cuidadosamente o JavaDoc.

brunorota

Verdade

Eu até tinha entendido o que o método fazia

A minha lógica do while que não foi feliz

Foi mals =/

Obrigadoo a todos

Valeww ^^

brunorota

a lógica seria assim

while(scanner.hasNext()){

     if(scanner.hasNextInt())
           System.out.print(scanner.nextInt());

}

=P

Criado 29 de julho de 2010
Ultima resposta 29 de jul. de 2010
Respostas 5
Participantes 3