1
resposta

Resolução dos Exercícios


1-)

public class DivisorIgualZeroException extends RuntimeException {
    public DivisorIgualZeroException(String message) {
        super(message);
    }
}
public class SimuladorDeCalculo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        try {
            System.out.print("Informe o numerador: \n");
            int numerador = scanner.nextInt();
            System.out.println("Informe o divisor: ");
            int denominador = scanner.nextInt();
            double resultado = calculador(numerador, denominador);
            System.out.println(resultado);
        }catch (DivisorIgualZeroException e){
            System.out.println("Erro ao informar o numerador");
            System.out.println(e.getMessage());
        }

    }
    public static double calculador(int numerador, int divisor) throws DivisorIgualZeroException{
        if (divisor == 0){
            throw new DivisorIgualZeroException("O divisor não pode ser 0, por favor informe um número válido");
        }  else return (double) numerador / divisor;
    }
}

2-)

public class SenhaInvalidaException extends RuntimeException{
    public SenhaInvalidaException(String message) {
        super(message);
    }
}
public class CriaPerfil {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        try{
            System.out.print("Informe o nome de usuário: \n");
            String username = scanner.nextLine();
            System.out.println("Informe uma nova senha: ");
            String password = scanner.nextLine();
            verificaSenha(password);
            System.out.println("Usuário cadastrado com sucesso.");
        } catch (DivisorIgualZeroException e){
            System.out.println("Senha Inválida");
            System.out.println(e.getMessage());
        } finally {
            System.out.println("Operação encerrada");
        }
    }
    public static boolean verificaSenha(String password) throws SenhaInvalidaException{
        if (password.length() < 8){
            throw new SenhaInvalidaException("A senha contém menos de 8 digitos, por favor tente novamente.");
        } else return true;
    }
}

3-)

public class UserNotFoundException extends RuntimeException{
    public UserNotFoundException(String message) {
        super(message);
    }
}
public class User {
    private String username, id;

    public User(GitHubUser user) {
        this.username = user.login();
        this.id = String.valueOf(user.id());
    }

    @Override
    public String toString() {
        return "Nome: " + username +
                ", id= " + id;
    }

    public static record GitHubUser(String login, int id){
    }
}
public class ProcuraUsers {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String accessToken = "****************************************";
        try {
            String address = consulta(scanner, accessToken);
            String json = buildHttpRequest(address,accessToken);
            Gson gson = new GsonBuilder().create();
            User.GitHubUser gitHubUser = gson.fromJson(json, User.GitHubUser.class);
            User user = new User(gitHubUser);
            System.out.println(user);
        } catch (UserNotFoundException e) {
            System.out.println("Hmmm. Parece que este usuário não existe...");
            System.out.println(e.getMessage());
        } catch (IOException | InterruptedException e) {
            throw new RuntimeException(e);
        }
    }
    public static String consulta(Scanner scanner, String token){
        System.out.println("Informe o nome de usuário que você deseja encontrar: ");
        String username = scanner.nextLine();
        return "https://api.github.com/users/" + username;
    }
    public static String buildHttpRequest(String address, String token) throws IOException, InterruptedException {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(address))
                .header("Accept", "application/vnd.github.v3+json")
                .build();
        HttpResponse <String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
        if(response.statusCode() == 404){
            throw new UserNotFoundException("O usuário procurado não existe. Tente novamente");
        } else return response.body();
    }
}
1 resposta

Olá, Matheus! Tudo bem?

Excelente código, parabéns pelo projeto! Espero que esteja gostando do curso! Colocar em execução as atividades propostas pelo professor em aula é uma prática muito importante para internalizarmos o conteúdo. Caso tenha ficado alguma dúvida em relação ao curso ou atividade, sinta-se à vontade em comunicar, estou à disposição e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!