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)
[code]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);
}[/code]
[code]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;
}[/code]