1
resposta

Desafio API com Exceptions

  1. Solicitar dois números ao usuário: Programa:
package ApiDesafio;

import java.util.Scanner;

public class DesafioUm {
    public static void main(String[] args) {
        int num1;
        int num2;
        Scanner sc = new Scanner(System.in);
        
        try {
            String mensagem = "Digite um número:";
            System.out.println(mensagem);
            num1 = sc.nextInt();
            sc.nextLine();
            System.out.println("Número " + num1);

            System.out.println(mensagem);
            num2 = sc.nextInt();
            sc.nextLine();
            System.out.println("Número " + num2);

            double resultado = (double) num1/num2;
            System.out.println(num1 + " / " + num2 + " = ");
            System.out.println("O resultado é " + resultado);
        } catch(ArithmeticException e){
            System.out.println("Erro na operação");
        } finally {
            System.out.println("Programa finalizado");
        }
    }
}

Execução:

Digite um número:
20
Número 20
Digite um número:
10
Número 10
20 / 10 = 
O resultado é 2.0
Programa finalizado

Process finished with exit code 0
  1. EntradaSenha:

Classe Senha:

package ApiDesafio;

import java.util.Scanner;

public class Senha {
    private String senha;
    private String senhaCorreta;

    public String getSenha() {
        return senha;
    }

    public Senha() {
        this.senha = senha;
    }

    public void entradaSenha() {
        Scanner sc = new Scanner(System.in);
        senhaCorreta = "12345678";
        System.out.println("Digite uma senha: ");
        String senha = sc.nextLine();

        try {
            if (senha.length() < 8) {
                throw new SenhaInvalidaException("Senha com menos de 8 caracteres.");
            }
            if (senha.equals(senhaCorreta)) {
                    System.out.println("Acertou a senha");
                } else {
                    System.out.println("Senha incorreta");
                }
        } catch (SenhaInvalidaException e) {
            System.out.println("SENHA INVÁLIDA!!!");
            System.out.println(e.getMessage());
        }
        System.out.println("Try/Catch executado, o programa será finalizado.");
    }
}

Main:

    Senha senhaObjeto = new Senha();
        senhaObjeto.entradaSenha();

Exception:

public class SenhaInvalidaException extends RuntimeException {
    private String s;
    public SenhaInvalidaException(String s) {
        this.s = s;
    }
    @Override
    public String getMessage() {
        return this.s;
    }
}
  1. API GitHub

Exception:

package ApiDesafio;

public class ErroConsultaGitHubException extends RuntimeException {
    public ErroConsultaGitHubException() {
    }
    @Override
    public String getMessage() {
        return "Usuário não encontrado, verifique novamente!!!";
    }
}

Main:

package ApiDesafio;

import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

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;

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

        Scanner sc = new Scanner(System.in);
        System.out.println("Digite o usuário a ser procurado: ");
        String busca = sc.nextLine();

        String urlUsuario = ("https://api.github.com/users/" + busca);

        try {
            HttpClient client = HttpClient.newHttpClient();
            HttpRequest request = HttpRequest.newBuilder()
                    .uri(URI.create(urlUsuario))
                    .header("Authorization", "Bearer ---meuToken-----")
                    .build();
            HttpResponse<String> response = client
                    .send(request, HttpResponse.BodyHandlers.ofString());
            if(response.statusCode()==404){
                throw new ErroConsultaGitHubException();
            }
            String json = response.body();
            System.out.println(json);

        } catch(ErroConsultaGitHubException e){
            System.out.println(e.getMessage());
        }

Execução com erro: Execução com erroPrograma ocm usuário válido: Nome válido

1 resposta

Parabéns!! Muito bem!