2
respostas

Dúvida sobre Scanner e nextLine()

Olá, estudando Scanner em uma outra apostila me deparei com algumas dúvidas. A primeira foi que quando utilizei nextDouble() pra ler o valor 2.0 recebi um erro do objeto Scanner ( InputMismatchException). Tentei ler a documentação mas não entendi. Se alguém puder me dar uma explicaçãozinha xD.

A segunda dúvida foi quando no material que estava lendo o autor disse:

"Try not to mix nextLine() and nextInt()|nextDouble()|next() in a program (as you may need to flush the newline from the input buffer)."

Alguém pode me ajudar a entender isso? Rsrs.

2 respostas

Ola Ícaro,

o primeiro erro ocorre quando o valor passado não e do tipo esperado, no caso Double.

Eu sempre utilizo nextLine() pra fica algo padrão(String), depois converto para o valor que quero com o parse, por exemplo se um campo for para digitar um rg, alguém pode tentar fazer nextInt(), porém é melhor ser nextLine() já q rg também tem letra.

Att,

Entendi, mas esqueci de dizer que a exceção não foi lançada quando usei o valor 2,0. O que não entendi nessa parte foi o por quê do ponto não ser lido como double.