1 - Crie um programa simples que solicita dois números ao usuário e realiza a divisão do primeiro pelo segundo. Utilize o bloco try/catch para tratar a exceção que pode ocorrer caso o usuário informe 0 como divisor.
package Challanges03.exercise01;
import java.util.Scanner;
public class Service {
Scanner scanner = new Scanner(System.in);
//variables
private int number = scanner.nextInt();
private int divider = scanner.nextInt();
public int calculate () {
int finalResult = number / divider;
System.out.println("The number '" + number + "' was divided by '" + divider + "' " +
"and the result is: '" + finalResult + "'");
return finalResult;
}
}
package Challanges03.exercise01;
public class Main {
public static void main(String[] args) {
var service = new Service();
try {
service.calculate();
} catch (ArithmeticException message) {
System.out.println("The number can't be divided by zero!");
}
}
}
Saída esperada (cenário bom):
10
5
The number '10' was divided by '5' and the result is: '2'
///////////////////////////////////////////////////////////////
Saída esperada (cenário ruim):
3
0
The number can't be divided by zero!
2 - Crie um programa que lê uma senha do usuário. Utilize o bloco try/catch para capturar a exceção SenhaInvalidaException, uma classe de exceção personalizada que deve ser lançada caso a senha não atenda a critérios específicos (por exemplo, ter pelo menos 8 caracteres).
package Challanges03.exercise02;
public class InvalidPasswordException extends RuntimeException {
public InvalidPasswordException(String message) {
super(message);
}
}
package Challanges03.exercise02;
import java.util.Scanner;
public class Service {
public void createPassword() {
System.out.println("Type your password");
Scanner scanner = new Scanner(System.in);
String password = scanner.next();
if (password.length() < 8) {
throw new InvalidPasswordException("Password must be at least 8 characters");
}
System.out.println("Your password is: '" +password+ "'");
}
}
package Challanges03.exercise02;
public class Main {
public static void main(String[] args) {
var test = new Service();
try {
test.createPassword();
} catch (InvalidPasswordException exception) {
System.out.println("Error: " +exception.getMessage());
}
}
}
Saída esperada (cenário bom):
Type your password
abc123abc
Your password is: 'abc123abc'
///////////////////////////////////////////////////////////////
Saída esperada (cenário ruim):
Type your password
abc123
Error: Password must be at least 8 characters