1
resposta

Desafio resolvido

import java.util.InputMismatchException;
import java.util.Scanner;

public class Par_Impar_Novo {
    public static void main(String[] args) {
        System.out.println("Vamos calcular Par e ímpar novamente !");

        Scanner teclado = new Scanner(System.in);
        double num = 0;

        while (true) {

            while (true) {
                try {
                    System.out.println("Informe um número qualquer, sem limites !");
                    num = teclado.nextDouble();
                    break;

                } catch (InputMismatchException e) {
                    System.out.println("Apenas números !");
                    teclado.nextLine();
                }
            }
            if (num % 2 == 0) {
                System.out.printf("O número %.2f é um valor PAR\n", num);
            } else if (num % 2 != 0) {
                System.out.printf("O número %.2f é um valor ÍMPAR\n", num);


            }
            System.out.println("");
            System.out.println("Quer continuar? [S/N]");
            char c = teclado.next().toUpperCase().charAt(0);
            while(c!='S' && c!='N'){
                System.out.println("Opção inválida ! Apenas SIM ou NÃO !");
                System.out.println("[S/N]");
                c = teclado.next().toUpperCase().charAt(0);

            }if(c=='S'){
                System.out.println("Continuando...");
            } else if (c=='N') {
                System.out.println("Finalizando o sistema !");
                break;
            }
        }
        System.out.println("Sistema finalizado !");
    }
}
1 resposta

Olá, Guilherme! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de tratamento de exceções para validar entradas em Java, utilizou muito bem o laço while para manter o fluxo contínuo e ainda compreendeu a importância da estrutura condicional para controlar as opções de continuidade do programa.

Uma dica interessante para o futuro é encapsular a lógica de verificação em um método separado, deixando o código mais organizado e reutilizável. Assim:

public static boolean verificarParImpar(double num) {
    if (num % 2 == 0) {
        System.out.printf("O número %.2f é PAR%n", num);
        return true;
    } else {
        System.out.printf("O número %.2f é ÍMPAR%n", num);
        return false;
    }
}

Isso faz com que a responsabilidade de verificar o número fique isolada, facilitando manutenção e testes.

Sugestão de conteúdo para você mergulhar ainda mais no tema:

Alguns materiais estão em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!