Pessoal estou tendo problemas em validar uma variável que recebe valores digitados pelo usuário. Acontece que quero que o programa teste se o valor digitado pelo usuário é maior do que 0 e não é uma letra. Caso seja o programa não deve deixar o usuário ir adiante, ele deve pedir que o usuário informe o valor novamente. Tenho este código:
quant_copias = JOptionPane.showInputDialog( "Digite a Quantidade de Cópias" );
try{
numero = Integer.parseInt( quant_copias );
//Leitura do primeiro numero
//Aqui faz um teste para obrigar o usuário/a digitar um valor maior do que 0
while (numero <= 0){
quant_copias = JOptionPane.showInputDialog("Digite a Quantidade de Cópias");
numero = Integer.parseInt(quant_copias);
}
} catch(NumberFormatException nfex) {
System.out.println("Digite apenas numeros");
}
Acontece que quando digito uma letra o programa retorna a mensagem “Digite apenas numeros”, mas deixa que o usuário siga adiante. Queria ver como fazer para enquanto o usuário não digitar um valor maior do que 0 o programa fique em um lastro pedindo para digitar o número de cópias até que o usuário digite este valor maior do que 0. Agradeço se alguém puder me ajudar.