Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Correção do erro usando exception.

Compreendi o uso do bloco try -catch, mas fiquei intrigado com uma coisa. Quando eu usava um comando, há muitos anos no Pascal, para evitar o erro automático do programa, ele permitia que eu tentasse refazer a tarefa e não apenas um recado que não funcionou.

O exemplo que eu tinha era de entrada de dados que deveriam ser reais, mas se letras fossem colocadas, o erro era tratado, descartando aquela entrada e o loop seguia. ?

Há como fazer algo deste tipo no Java?

4 respostas

Oi Bruno

Só para ver se eu entendi, tem um recurso que permite você tratar um erro dentro de um for e continuar processando os demais, seria isso?

Sim, a Ideia é exatamente neste caminho, mas o for seria um problema já que não posso descartar aquela contagem. Eu precisaria fazer por um while, para diminuir a variável contador em 1 (ou não soma-la), já que a iteração atual não foi validada.

solução!

Olá Bruno! Tudo bem? Pelo o que entendi é que é necessário de um "DO WHILE", para ele refazer essa operação até que encontre o valor específicado como você disse anteriormente utilizando o try/catch. Ex:

import java.util.Scanner;

public class TesteCorrecao {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        int number = 0;

        do{
            System.out.print("Informe um número: ");
            try {
                String input = scanner.next();
                number = Integer.parseInt(input);
            } catch (NumberFormatException ex) {
                System.out.println("Apenas números");
            }
        } while(number == 0);

        System.out.println("O número é: " + number);
    }
}

Espero ter ajudado!

Abraço!

Felipe, sua solução também atende minha necessidade.

Muito obrigado!!