2
respostas

Minha tentativa de resolver os desafios.

Primeiro caso:
/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.mycompany.capturandoerros;

/**
 *
 * @author alan_Mulero
 * 12/11/2024
 */
public class Erros {

    public void divisao(int dividendo, int divisor) {
        try {
            var total = dividendo / divisor;
            System.out.println(total);
        } catch (ArithmeticException e) {
            System.out.println("Capiturando erro ao tentar dividir por 0." + e.getMessage());
        }

    }
}

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 */
package com.mycompany.capturandoerros;

import java.util.Scanner;

/**
 *
 * @author alan_
 */
public class CapturandoErros {

    public static void main(String[] args) {

        Scanner leitura = new Scanner(System.in);

        System.out.println("Digite um numero para o Dividendo: ");
        var numero = leitura.nextInt();
        System.out.println("Digite um numero para o Divisor: ");
        var numero2 = leitura.nextInt();
        Erros teste1 = new Erros();
        teste1.divisao(numero, numero2);

        

Segundo caso:

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.mycompany.capturandoerros;

/**
 *
 * @author alan_
 */
public class MinhasExecoes extends RuntimeException {

    public MinhasExecoes(String msg) {
        super(msg);
    }

}

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.mycompany.capturandoerros;

/**
 *
 * @author alan_
 */
public class CapturaSenha {

    private final String senhaTeste = "Patolino";

    public void verificaSenha(String novaSenha) {
        char[] caracteres = novaSenha.toCharArray();
        if (caracteres.length < 7) {
            throw new MinhasExecoes("A senha tem menos que 7 caracteres.");

        }
        try {
            if (novaSenha.equals(senhaTeste)) {
                System.out.println("Senha validada com sucesso!");
            }
        } catch (MinhasExecoes e) {
            System.out.println("Erro ao tentar validar a senha. " + e.getMessage());
        } finally {
            System.out.println("Conexão fechada.");
        }

    }

}

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 */
package com.mycompany.capturandoerros;

import java.util.Scanner;

/**
 *
 * @author alan_
 */
public class CapturandoErros {

    public static void main(String[] args) {

        Scanner leitura = new Scanner(System.in);

        System.out.println("Digite um numero para o Dividendo: ");
        var numero = leitura.nextInt();
        System.out.println("Digite um numero para o Divisor: ");
        var numero2 = leitura.nextInt();
        Erros teste1 = new Erros();
        teste1.divisao(numero, numero2);

        System.out.println("Digite uma palavra para nova senha: ");
        var novaSenha = leitura.next();
        CapturaSenha senha1 = new CapturaSenha();
        senha1.verificaSenha(novaSenha);

    }
}




2 respostas
/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.mycompany.capturandoerros;

/**
 *
 * @author alan_
 */
public class ErroConsultaGitHubException extends RuntimeException {

    public ErroConsultaGitHubException(String msg) {

        super(msg);
    }

}

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.mycompany.capturandoerros;

/**
 *
 * @author alan_
 */
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.Scanner;
import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;

public class ApiGit {

    public static void main(String[] args) throws IOException, InterruptedException {

        Scanner leitura = new Scanner(System.in);
        System.out.println("Digite um nome para busca na Api GitHub: ");
        var nome = leitura.next();
        String endereco = "https://api.github.com/users/" + nome;

        // Request & Response
        try {
            HttpClient client = HttpClient.newHttpClient();

            HttpRequest request = HttpRequest.newBuilder()
                    .uri(URI.create(endereco))
                    .build();

            HttpResponse<String> response = client
                    .send(request, HttpResponse.BodyHandlers.ofString());

            if (response.statusCode() == 404) {
                throw new ErroConsultaGitHubException("Nome inexistente.");
            }

            var json = response.body();
            Gson gson = new Gson();
            System.out.println(json);

        } catch (ErroConsultaGitHubException e) {
            System.out.println("Erro ao tentar consultar API GitHub." + e.getMessage());
        } catch (IOException | InterruptedException e) {
            System.out.println(" Erro na consulta da API ");
            e.printStackTrace();
        } finally {
            System.out.println("Fechando conexao!");
        }

    }

}

Oi, Alan! 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!