Eae, Galera
Estou com um probleminha, se possível gostaria da ajuda de vocês para solucioná-lo!
O problema é o seguinte: O meu LOOP abaixo funciona como um validador, ou seja, ao digitar os dados requisitados pelo Input(SCANNER) ele tenta converter para os tipos corretos. Caso ocorra algum erro na conversão ele vá para o proximo loop!
Então, quando eu digito o material (1ª requisição ele passa) mas se eu digitar alguma string no peso que é a 2ª requisição ele da erro e ai fala: Opção invalida… conforme o CATCH, porém quando ele da o proximo loop a minha primeira requisição (MATERIAL) fica como se tivesse prenchida/PULADA. Simplesmente pula e ja pede denovo o peso(2ª requisição) e o correto seria pedir o MATERIAL; PESO; LARGURA… (Código Abaixo)
Scanner input = new Scanner(System.in);
while (true) {
try {
System.out.println("Digite o material da prateleira:");
prateleira.setMaterial(input.nextLine());
System.out.println("Digite o peso máximo suportado pela prateleira:");
prateleira.setPesoMaximoSuportado(Float.parseFloat(input.next()));
System.out.println("Digite a largura máxima suportada pela prateleira:");
prateleira.setLarguraMaximaSuportada(Float.parseFloat(input.next()));
System.out.println("Prateleira criada com sucesso!");
break;
} catch (Exception ioe) {
System.out.println("Opção inválida, digite todos os dados novamente!");
continue;
}
}
Fico no aguardo e Obrigado!!!