Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Essa foi a minha solução.

Exercício 1

import java.io.IOException;
import java.util.Scanner;

public class App {
    public static void main(String[] args) throws Exception {
        Scanner ler = new Scanner(System.in);

        System.out.println("Escolha o primeiro numero");
        int numero1 = ler.nextInt();
        System.out.println("Escolha o segundo numero");
        int numero2 = ler.nextInt();
        try {
            Diviso divisao = new Diviso(numero1, numero2);
        } catch (Excecao e) {
            System.out.println(e.getMessage());
        }
        }
        }
public class Excecao extends RuntimeException{
    private String mensagem;
    public Excecao(String mensagem){
        this.mensagem = mensagem;
    }
    @Override
    public String getMessage() {
        // TODO Auto-generated method stub
        return this.mensagem;
    }
    
}
public class Diviso{
    public Diviso(int nun1, int nun2){
        if (nun1 == 0 || nun2 == 0) {
        throw new Excecao("O numero 0 não pode ser dividido.");
        }
        double resutado = (double) nun1 /nun2;
        System.out.println(resutado);
    }

}

Exercício 2

import java.io.IOException;
import java.util.Scanner;

public class App {
    public static void main(String[] args) throws Exception {
        Scanner ler = new Scanner(System.in);
        System.out.println("Digite sua senha");
        String senha = ler.nextLine();
        try {
            GravaSenha verificarSenha = new GravaSenha(senha);
        } catch (Excecao e) {
            System.out.println(e.getMessage());
        }
        }
        }
import java.util.Scanner;

public class GravaSenha {
    public GravaSenha(String senha){
        if (senha.length()<8) {
            throw new Excecao("não foi possivel senha com menos de 8 caracteres");
        }
        Scanner ler = new Scanner(System.in); 
        System.out.println("digite sua senha");
        String verificaSenha = ler.nextLine();
        if (senha.equals(verificaSenha)) {
            System.out.println("senha correta");   
        }else{
            System.out.println("senha incorreta");
        }


    }

}
public class Excecao extends RuntimeException{
    private String mensagem;
    public Excecao(String mensagem){
        this.mensagem = mensagem;
    }
    @Override
    public String getMessage() {
        // TODO Auto-generated method stub
        return this.mensagem;
    }
    
}

Exercício 3

import java.io.IOException;
import java.util.Scanner;

public class App {
    public static void main(String[] args) throws Exception {
        Scanner ler = new Scanner(System.in);
          System.out.println("Digite o nome de usuário do GitHub para consultar informações: ");
            String username = ler.nextLine();
            try {
                Github encontraGithub = new Github(username);
            } catch (IOException | InterruptedException e) {
                System.out.println("Opss… Houve um erro durante a consulta à API do GitHub.");
                e.printStackTrace();
            } catch (Excecao e) {
                System.out.println(e.getMessage());
            }
        
    }
}
public class Excecao extends RuntimeException{
    private String mensagem;
    public Excecao(String mensagem){
        this.mensagem = mensagem;
    }
    @Override
    public String getMessage() {
        // TODO Auto-generated method stub
        return this.mensagem;
    }
    
}
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Github {
    public Github(String usuario) throws IOException, InterruptedException{
        String endereco = "https://api.github.com/users/" + usuario;
        HttpClient client = HttpClient.newHttpClient();
            HttpRequest request = HttpRequest.newBuilder()
                    .uri(URI.create(endereco))
                    .header("Accept", "application/vnd.github.v3+json")
                    .build();

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

            if (response.statusCode() == 404) {
                throw new Excecao("Usuário não encontrado no GitHub.");
            }

            String json = response.body();
            System.out.println(json);
    }
}
1 resposta
solução!

Oi, Josimar! Tudo bem?

Ótimo código, parabéns pela elaboração da solução! Deixo apenas algumas sugestões:

Em relação ao exercício 1, podemos fechar o Scanner após o uso para evitar vazamentos de recursos. Além disso, a classe Diviso pode ser renomeada para Divisao, deixando o nosso código da seguinte forma:

import java.util.Scanner;

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

        System.out.println("Escolha o primeiro número");
        int numero1 = ler.nextInt();
        System.out.println("Escolha o segundo número");
        int numero2 = ler.nextInt();
        
        try {
            Divisao divisao = new Divisao(numero1, numero2);
        } catch (Excecao e) {
            System.out.println(e.getMessage());
        } finally {
            ler.close();
        }
    }
}

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

public class Divisao {
    public Divisao(int num1, int num2) {
        if (num1 == 0 || num2 == 0) {
            throw new Excecao("O número 0 não pode ser dividido.");
        }
        double resultado = (double) num1 / num2;
        System.out.println(resultado);
    }
}

Já em relação ao exercício 2, estamos verificando a senha duas vezes, podemos então simplificar o código para melhorar a legibilidade e eficiência, deixando o nosso código de acordo com o exemplo abaixo:

import java.util.Scanner;

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

        System.out.println("Digite sua senha");
        String senha = ler.nextLine();
        
        try {
            GravaSenha verificarSenha = new GravaSenha(senha);
        } catch (Excecao e) {
            System.out.println(e.getMessage());
        } finally {
            ler.close();
        }
    }
}

public class GravaSenha {
    public GravaSenha(String senha) {
        if (senha.length() < 8) {
            throw new Excecao("Não foi possível: senha com menos de 8 caracteres.");
        }
        
        Scanner ler = new Scanner(System.in); 
        System.out.println("Digite sua senha novamente");
        String verificaSenha = ler.nextLine();
        
        if (senha.equals(verificaSenha)) {
            System.out.println("Senha correta");   
        } else {
            System.out.println("Senha incorreta");
        }
        
        ler.close();
    }
}

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

Espero ter ajudado! 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!