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

[Projeto] Desafio Final

import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Main {
    private static final Logger logger = Logger.getLogger(Main.class.getName());
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        ViaCepService viaCepService = new ViaCepService();

        System.out.println("Informe o CEP para busca:");
        String cep = scanner.nextLine();

        try {
            Endereco endereco = viaCepService.buscarEnderecoPorCep(cep);
            if (endereco.getCep() != null) {
                System.out.println("Endereço encontrado:");
                System.out.println("CEP: " + endereco.getCep());
                System.out.println("Logradouro: " + endereco.getLogradouro());
                System.out.println("Complemento: " + endereco.getComplemento());
                System.out.println("Bairro: " + endereco.getBairro());
                System.out.println("Localidade: " + endereco.getLocalidade());
                System.out.println("UF: " + endereco.getUf());
                System.out.println("IBGE: " + endereco.getIbge());
                System.out.println("DDD: " + endereco.getDdd());
                System.out.println("SIAFI: " + endereco.getSiafi());

                GeradorDeArquivo.gerarArquivoJson(endereco, "endereco.json");
                
            } else {
                System.out.println("CEP não encontrado.");
            }
        } catch (Exception e) {
            logger.log(Level.SEVERE, "Erro ao buscar o CEP.", e);
        }
    }
}
import com.google.gson.Gson;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class ViaCepService {
    public Endereco buscarEnderecoPorCep(String cep) throws Exception {
        String urlParaChamada = "https://viacep.com.br/ws/" + cep + "/json/";
        URL url = new URL(urlParaChamada);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();

        connection.setRequestMethod("GET");
        connection.setRequestProperty("Content-Type", "application/json");

        BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String inputLine;
        StringBuilder content = new StringBuilder();
        while ((inputLine = in.readLine()) != null) {
            content.append(inputLine);
        }
        in.close();
        connection.disconnect();
        return new Gson().fromJson(content.toString(), Endereco.class);
    }
}
public class Endereco {
    private String cep;
    private String logradouro;
    private String complemento;
    private String bairro;
    private String localidade;
    private String uf;
    private String ibge;
    private String ddd;
    private String siafi;

    public String getCep() { return cep; }
    public void setCep(String cep) { this.cep = cep; }

    public String getLogradouro() { return logradouro; }
    public void setLogradouro(String logradouro) { this.logradouro = logradouro; }

    public String getComplemento() { return complemento; }
    public void setComplemento(String complemento) { this.complemento = complemento; }

    public String getBairro() { return bairro; }
    public void setBairro(String bairro) { this.bairro = bairro; }

    public String getLocalidade() { return localidade; }
    public void setLocalidade(String localidade) { this.localidade = localidade; }

    public String getUf() { return uf; }
    public void setUf(String uf) { this.uf = uf; }

    public String getGia() { return gia; }
    public void setGia(String gia) { this.gia = gia; }

    public String getDdd() { return ddd; }
    public void setDdd(String ddd) { this.ddd = ddd; }

    public String getSiafi() { return siafi; }
    public void setSiafi(String siafi) { this.siafi = siafi; }
}
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.io.FileWriter;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;

public class GeradorDeArquivo {
    private static final Logger logger = Logger.getLogger(GeradorDeArquivo.class.getName());

    public static void gerarArquivoJson(Endereco endereco, String nomeArquivo) {
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        try (FileWriter writer = new FileWriter(nomeArquivo)) {
            gson.toJson(endereco, writer);
            System.out.println("Dados salvos no arquivo " + nomeArquivo);
        } catch (IOException e) {
            logger.log(Level.SEVERE, "Erro ao escrever no arquivo " + nomeArquivo, e);
        }
    }
}
1 resposta
solução!

Oi Samil! Tudo bem?

Ótimo código! Espero que continue a explorar os conteúdos para ampliar seu conhecimento e desenvolver novas habilidades. Caso tenha restado alguma dúvida em relação a qualquer conteúdo do curso ou atividade, não hesite em perguntar, estou disponível e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!