// 1. Programa de divisão
import java.util.Scanner;
public class Divisao {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
System.out.print("Informe o primeiro número: ");
double num1 = scanner.nextDouble();
System.out.print("Informe o segundo número: ");
double num2 = scanner.nextDouble();
double resultado = num1 / num2;
System.out.println("O resultado da divisão é: " + resultado);
} catch (ArithmeticException e) {
System.out.println("Erro: Divisão por zero não é permitida.");
} catch (Exception e) {
System.out.println("Erro: Entrada inválida.");
} finally {
scanner.close();
}
}
}
// 2. Programa de verificação de senha
public class SenhaInvalidaException extends Exception {
public SenhaInvalidaException(String mensagem) {
super(mensagem);
}
}
public class VerificaSenha {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Informe a senha: ");
String senha = scanner.nextLine();
try {
validarSenha(senha);
System.out.println("Senha válida.");
} catch (SenhaInvalidaException e) {
System.out.println("Erro: " + e.getMessage());
} finally {
scanner.close();
}
}
public static void validarSenha(String senha) throws SenhaInvalidaException {
if (senha.length() < 8) {
throw new SenhaInvalidaException("A senha deve ter pelo menos 8 caracteres.");
}
// Adicione outros critérios de validação, se necessário
}
}
// 3. Programa de consulta ao GitHub
public class ErroConsultaGitHubException extends RuntimeException {
public ErroConsultaGitHubException(String mensagem) {
super(mensagem);
}
}
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class ConsultaGitHub {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Informe o nome de usuário do GitHub: ");
String usuario = scanner.nextLine().trim();
if (!isValidGitHubUsername(usuario)) {
System.out.println("Erro: Nome de usuário inválido. Certifique-se de que não contém espaços ou caracteres especiais.");
return;
}
try {
consultarUsuarioGitHub(usuario);
} catch (ErroConsultaGitHubException e) {
System.out.println("Erro: " + e.getMessage());
} finally {
scanner.close();
}
}
public static boolean isValidGitHubUsername(String username) {
return username.matches("^[a-zA-Z0-9-]+$");
}
public static void consultarUsuarioGitHub(String usuario) throws ErroConsultaGitHubException {
String urlString = "https://api.github.com/users/" + usuario;
try {
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
int responseCode = conn.getResponseCode();
if (responseCode == 404) {
throw new ErroConsultaGitHubException("Usuário não encontrado.");
} else if (responseCode != 200) {
throw new ErroConsultaGitHubException("Erro ao consultar o GitHub. Código de resposta: " + responseCode);
}
Scanner scanner = new Scanner(url.openStream());
StringBuilder response = new StringBuilder();
while (scanner.hasNext()) {
response.append(scanner.nextLine());
}
scanner.close();
JsonObject jsonObject = JsonParser.parseString(response.toString()).getAsJsonObject();
String nome = getJsonElementAsString(jsonObject.get("name"));
String bio = getJsonElementAsString(jsonObject.get("bio"));
int publicRepos = jsonObject.get("public_repos").getAsInt();
System.out.println("Nome: " + nome);
System.out.println("Bio: " + bio);
System.out.println("Repositórios públicos: " + publicRepos);
} catch (IOException e) {
throw new ErroConsultaGitHubException("Erro ao conectar com o GitHub.");
}
}
private static String getJsonElementAsString(JsonElement element) {
return element != null && !element.isJsonNull() ? element.getAsString() : "Informação não disponível";
}
}