Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Desafio: hora da Pratica

import java.sql.SQLOutput;
import java.util.Scanner;

public class Numeros {
    public static void main(String[] args) {
        int numero;
        int numero2;
        int resultado;

        Scanner digite = new Scanner(System.in);
        try{
            System.out.println("Digite o Primeiro Valor: ");
            numero = digite.nextInt();
            System.out.println("Digite o segundo valor: ");
            numero2 = digite.nextInt();

            resultado = numero / numero2;

            System.out.println("Resultado: " + resultado);
        }catch (ArithmeticException e){
            System.out.println("Não é possivel dividir por zero");
        }

    }
}
1 resposta

Olá, Alvaro! Tudo bem?

No desafio da hora da prática, você demonstrou um ótimo entendimento ao utilizar o bloco try-catch para capturar a exceção ArithmeticException. Essa é uma habilidade muito importante em Java, pois garante que o programa não seja encerrado de forma inesperada quando o usuário digitar um valor inválido, como zero no segundo número.

Vale destacar que o uso do Scanner com o método nextInt() para capturar os valores inteiros das variáveis numero e numero2, combinado com o System.out.println para exibir o resultado, está correto e bem estruturado. Também é interessante notar que o import de java.sql.SQLOutput não é necessário nesse contexto e pode ser removido para manter o código mais limpo.

Uma sugestão adicional para evoluir ainda mais é validar o valor antes da divisão, sem depender exclusivamente da exceção. Veja este exemplo:

<pre><code>
int numero2 = digite.nextInt();

if (numero2 != 0) {
    int resultado = numero / numero2;
    System.out.println(resultado);
} else {
    System.out.println("Divisao por zero nao permitida");
}
</code></pre>

Nesse exemplo, o código verifica se o valor digitado para numero2 é diferente de zero antes de executar a divisão. Essa abordagem é considerada uma boa prática, pois trata o problema de forma preventiva, antes mesmo que a exceção precise ser lançada pelo Java.

As duas abordagens funcionam, e conhecer ambas enriquece muito o seu repertório como desenvolvedor.

Você já pensou em como seria possível adaptar esse código para aceitar números decimais em vez de inteiros, e quais mudanças seriam necessárias no tipo das variáveis e no método de leitura do Scanner?

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