Salve, pessoal. Fiz o desafio de tratamento de exceções em que é necessário tratar uma divisão por zero. Tive que usar um if pra verificar se o segundo número era zero e usar o throw pra causar o erro porque quando eu tentei dividir um número por 0 não obtive erro, mas sim o resultado Infinity. Também usei uma conversão explícita pra float pra divisões em que o resultado não é inteiro e um InputMismatchException caso o input não seja um número inteiro.
import java.util.InputMismatchException;
import java.util.Scanner;
public class Division {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
try {
System.out.println("Insira o primeiro número inteiro");
int primeiroNumero = input.nextInt();
System.out.println("O primeiro número é " + primeiroNumero);
System.out.println("Insira o segundo número inteiro");
int segundoNumero = input.nextInt();
if (segundoNumero == 0) throw new ArithmeticException("Impossível dividir por zero");
System.out.println("O segundo número é " + segundoNumero);
float division = (float) primeiroNumero / segundoNumero;
System.out.printf("A divisão dos dois número é %.2f%n", division);
} catch (InputMismatchException e) {
System.out.println("Ambos os números devem ser inteiros");
}
}
}