Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

rfsimoes

duvida inputs exception

Mensagens Recomendadas

rfsimoes    0
rfsimoes

Desde já peço desculpa se o tópico não se encontrar na secção certa.

Tenho uma dúvida relativamente ao tratamento de excepções dos inputs.

Por exemplo, se eu quiser proteger o input seguinte para não gerar excepçoes se colocar o tipo errado e aceitar sempre inputs ate colocar um int como faço ?

op = sc.nextInt();

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bioshock    170
bioshock

Bem, isto é java.

 boolean continua = true;
        while (continua == true) {
            Scanner reader = new Scanner(System.in);
            if (!reader.hasNextInt()) {
                System.out.println("Insira um número!");
            } else {
                System.out.println("Número: " + reader.nextInt());
                continua = false; // ou break;
            }
        }

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
rfsimoes    0
rfsimoes

bioshock o codigo que me mandaste entra num ciclo infinito no print do if.

Eu tou a fazer assim

while(aux == false)
	{
		try
		{
			op = sc.nextInt();
			aux = true;
		}
catch(Exception e)
		{
			System.out.println("ERRO!\nInsira um númeri inteiro");
		}
	}

mas o ciclo nao para.Alguem sabe o que está mal ?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
rfsimoes    0
rfsimoes

Acho que já resolvi o problema.

while(aux == false)
	{
		try
		{
			op = sc.nextInt();
			aux = true;
		}catch(Exception e)
		{
			System.out.println("ERRO!\nInsira um número inteiro!");
			sc.nextLine();
		}
	}

Coloquei o sc.nextLine() e deixou de fazer o ciclo infinito.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade