Boa noite.... estou com um codigo aqui que esta me dando dor de cabeca... é um exercicio da faculdade e tenho que inserir o tratamento de erro nele... so que o problema consiste que ele exibe a mensagem mas nao volta a pedir o valor e vai para o próximo requisito....
(ex: numero da casa... ele exibe o erro mas passa direto pro bairro)
private void cadastraFuncionario() {
nome = verifica.verificaString();
System.out.println("--- CADASTRO ---\n Nome: ");
nome = verifica.verificaString();
System.out.print("Rua: ");
rua = verifica.verificaString();
System.out.print("Numero: ");
numero = verifica.verificaInt();
System.out.println("Bairro: ");
bairro = verifica.verificaString();
cidade = verifica.verificaString();
System.out.print("Cidade: ");
cidade = verifica.verificaString();
System.out.print("CEP: ");
cep = verifica.verificaString();
System.out.print("Telefone: ");
telefone = verifica.verificaInt();
System.out.print("Salário: ");
salario = verifica.verificaDouble();
empresa.cadastraFuncionario(nome, rua, numero, bairro, cidade, cep, telefone, salario);
}
public int verificaInt()
{
int inteiro = 0;
do
{
try
{
inteiro = input.nextInt();
continua = false;
}
catch ( InputMismatchException e )
{
input.nextLine();
System.out.println("Você precisa inserir números somente. Tente novamente: \n" );
continua = false;
}
} while(continua);
return inteiro;
}