Enviado em 06/06/2018 - 17:06h 
		hcabzlus escreveu:
Ele bloqueia exatamente onde falei, por isso ele deve estar dentro do loop e por isso seu código não funciona.
Faça isso:
do { 
Dica: nunca use saídas de texto para testar pois elas podem facilmente te enganar. Ao invés disso, use um depurador de código. 
Oi pessoal.
Hcabzlus, desculpe, mas eu acredito que isso não está correto.
A parada ( para leitura do stdin ) não ocorre na linha:
Também acho que instanciar o scanner dentro do loop é uma má prática... Dessa forma, você cria diversos objetos da classe Scanner de forma desnecessária.
Robgeek, penso que a parada ocorre porquê você criou o Scanner passando o System.in, que é, de forma genérica, a entrada padrão, na maioria das vezes, o teclado... Quando você chama o método hasNextInt(), sem ter feito nenhuma leitura antes, a entrada padrão precisa ser lida para só depois ser avaliada... 
Veja que usando um arquivo para criar o Scanner essa parada não acontece:
Você pode criar o arquivo "numeros" com o seguinte comando no terminal : 
Já o fato de acorrer um loop quando um caractere é digitado, penso que seja porquê não é feita nenhuma leitura quando o método hasNextInt() retorna false, ou seja, o caractere continua lá e o retorno continua sendo false, veja:
Na próxima linha o método hasNextInt() é chamado e espera uma entrada. Se essa entrada for do tipo int, é retornado true senão, é retornado false.
Se você digita um char ou um float, o retorno é false e a execução vai para o bloco else...
Nesse bloco, nenhuma leitura com Scanner acontece e o while é executado novamente, onde o método hasNextInt() é chamado outra vez e avalia o mesmo char ou float que foi inserido na primeira interação... Como o retorno desse método vai ser sempre false, a execução nunca entra no bloco if onde está a instrução break.
Veja que limpando( fazendo a leitura de uma linha com o Scanner ) no bloco else, o loop não acontece:
Linux Professional Institute - LPIC-1
Novell Certified Linux Administrator - CLA
Oracle Certified Associate, Java SE Programmer - OCA
http://twitter.com/p4ulodi4s 
http://www.prminformatica.com.br/