Meu projeto final do curso
//package exercicios.cep;
import java.io.FileWriter;
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 BuscaCep {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Digite o CEP: ");
String recebeCep = scanner.nextLine();
HttpClient client = HttpClient.newHttpClient();
String url = "https://viacep.com.br/ws/" + recebeCep + "/json/";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.GET()
.build();
String dadosCep = ""; // Variável declarada fora do try
try {
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
dadosCep = response.body(); // Atribui os dados à variável dadosCep
if(dadosCep.contains("erro")) {
System.out.println("CEP Invalido ou nao encontrado.");
return;
}
System.out.println("Resposta: " + dadosCep);
} catch (Exception e) {
System.out.println("Erro durante a requisição: " + e.getMessage());
return;
}
// Menu de opções
int opcao = 0;
while (opcao != 2) {
System.out.println("1 - Gravar");
System.out.println("2 - Sair");
System.out.println("Deseja converter em JSON e gravar estes dados no arquivo? ");
String entrada = scanner.nextLine();
try {
opcao = Integer.parseInt(entrada);
} catch (NumberFormatException e) {
System.out.println("Opção inválida! Digite 1 ou 2.");
opcao = 0; // Garantir que a opção continue sendo 0 se for inválida
}
if (opcao == 1) {
// Exibe os dados do CEP
System.out.println("Dados do CEP: " + dadosCep);
try {
FileWriter escrita = new FileWriter("endereco.txt", true);
escrita.write(dadosCep);
escrita.write("\n");
escrita.close();
System.out.println("Salvo com sucesso em endereco.txt");
} catch (IOException e) {
System.out.println("Ocorreu um erro ao gravar o arquivo");
}
}
if (opcao != 1 && opcao != 2) {
System.out.println("Opção inválida! Digite 1 ou 2.");
}
}
scanner.close();
System.out.println("Saindo do programa...");
}
}
Se quiser trocar informacoes e dicas meu email: keshi.coding@gmail.com