1
resposta

Resolução do Desafio

Programa 1: Divisão de Números com Bloco try/catch

import java.util.Scanner;

public class DivisaoNumeros { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);

    System.out.println("Digite o primeiro número:");
    double numero1 = scanner.nextDouble();

    System.out.println("Digite o segundo número:");
    double numero2 = scanner.nextDouble();

    try {
        double resultado = dividir(numero1, numero2);
        System.out.println("Resultado da divisão: " + resultado);
    } catch (ArithmeticException e) {
        System.out.println("Erro: Divisão por zero não é permitida.");
    }
}

public static double dividir(double numero1, double numero2) {
    if (numero2 == 0) {
        throw new ArithmeticException("Divisão por zero não é permitida.");
    }
    return numero1 / numero2;
}

}

Programa 2: Verificação de Senha com Bloco try/catch import java.util.Scanner;

public class VerificacaoSenha { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);

    System.out.println("Digite a senha:");
    String senha = scanner.nextLine();

    try {
        verificarSenha(senha);
        System.out.println("Senha válida!");
    } catch (SenhaInvalidaException e) {
        System.out.println("Erro: " + e.getMessage());
    }
}

public static void verificarSenha(String senha) throws SenhaInvalidaException {
    if (senha.length() < 8) {
        throw new SenhaInvalidaException("A senha deve ter pelo menos 8 caracteres.");
    }
}

}

class SenhaInvalidaException extends Exception { public SenhaInvalidaException(String mensagem) { super(mensagem); } }

Programa 3: Consulta de Usuário do GitHub com Tratamento de Exceção Personalizada import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL;

public class ConsultaGitHub { public static void main(String[] args) { String username = "seu_usuario"; // Substitua pelo nome de usuário do GitHub que você deseja consultar

    try {
        String userData = consultarUsuarioGitHub(username);
        System.out.println("Informações do usuário " + username + ":");
        System.out.println(userData);
    } catch (ErroConsultaGitHubException e) {
        System.out.println("Erro ao consultar usuário: " + e.getMessage());
    }
}

public static String consultarUsuarioGitHub(String username) throws ErroConsultaGitHubException {
    try {
        URL url = new URL("https://api.github.com/users/" + username);
        HttpURLConnection conexao = (HttpURLConnection) url.openConnection();
        conexao.setRequestMethod("GET");

        BufferedReader reader = new BufferedReader(new InputStreamReader(conexao.getInputStream()));
        StringBuilder response = new StringBuilder();
        String linha;

        while ((linha = reader.readLine()) != null) {
            response.append(linha);
        }
        reader.close();

        if (conexao.getResponseCode() == 200) {
            return response.toString();
        } else {
            throw new ErroConsultaGitHubException("Usuário não encontrado.");
        }
    } catch (IOException e) {
        throw new ErroConsultaGitHubException("Erro ao fazer a solicitação à API do GitHub.");
    }
}

}

class ErroConsultaGitHubException extends RuntimeException { public ErroConsultaGitHubException(String mensagem) { super(mensagem); } }

1 resposta

Oi José, tudo tranquilo?

Ótimo código, parabéns pelo empenho e obrigada por compartilhá-lo com a nossa comunidade, tenho certeza que servirá de inspiração para muitos colegas que possam estar com dificuldade! Caso reste alguma dúvida, sinta-se à vontade em comunicar!

Um forte abraço e bons estudos!