3
respostas

Projeto do CEP

Alguém pode me ajudar?

Não sei por que está vindo nulo os dados..... https://github.com/wagnerk78/consultaCEP-java

public class Principal {
    public static void main(String[] args) throws IOException, InterruptedException, NullPointerException{
        Scanner leitura = new Scanner(System.in);
        String busca = " ";

        List<CEP> enderecos = new ArrayList<>();
        Gson gson = new GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE).setPrettyPrinting().create();

        while (!(busca.equalsIgnoreCase("sair"))) {
            System.out.println("Digite o Número do CEP");
        busca = leitura.nextLine();

            if ((busca.equalsIgnoreCase("sair"))){
                break;
            }



            String endereco = "http://viacep.com.br/ws/" + busca + "/json/";

                    HttpClient client = HttpClient.newHttpClient();
                    HttpRequest request = HttpRequest.newBuilder()
                            .uri(URI.create(endereco))
                            .build();
                    HttpResponse<String> response = client
                            .send(request, HttpResponse.BodyHandlers.ofString());

            String json = response.body();
            System.out.println(json);

            CepConsultados cepColhidos = gson.fromJson(json, CepConsultados.class);
            System.out.println(cepColhidos);
            CEP arquivosceps = new CEP(cepColhidos);

            enderecos.add(arquivosceps);



        }
       //FileWriter escrita = new FileWriter("endereco.json");
       //escrita.write(gson.toJson(enderecos));
       //escrita.close();

        System.out.println("F  I  M !");
    }
}
3 respostas

Resolvido!

Olá, Wagner! Tudo bem?

Pelo que entendi, você está tentando fazer um projeto que consulta CEPs usando Java, mas está tendo problemas com dados nulos, certo?

Pelo código que você compartilhou, acredito que o problema possa estar na linha 24, onde você está tentando acessar o valor da variável "cepColhidos", que pode estar vindo nulo. Uma possível solução seria adicionar uma verificação antes de acessar o valor, assim:

CepConsultados cepColhidos = gson.fromJson(json, CepConsultados.class);
if (cepColhidos != null) {
    System.out.println(cepColhidos);
    CEP arquivosceps = new CEP(cepColhidos);
    enderecos.add(arquivosceps);
} else {
    System.out.println("Não foi possível obter informações para o CEP informado.");
}

Dessa forma, se a variável "cepColhidos" estiver nula, você exibirá uma mensagem de erro e não tentará adicionar um objeto nulo na lista "enderecos".

Espero ter ajudado e bons estudos!

Olá Otávio Prado, Era um new que não tinha lançado. Já resolvi ontem! Mas de qualquer forma, obrigado pela ajuda!