1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Como resolver o java.lang.NullPointerException?

Olá pessoal. Estou fazendo uma atividade com as classes Hora e TestaHora:

package exercicio1_aula05;

import javax.swing.*;

public class Hora {

   private Integer hora;
   private Integer minuto;
   private Integer segundo;

   public Integer getHora() {
      return hora;
   }

   public void setHora(Integer hora) {
      this.hora = hora;
   }

   public Integer getMinuto() {
      return minuto;
   }

   public void setMinuto(Integer minuto) {
      this.minuto = minuto;
   }

   public Integer getSegundo() {
      return segundo;
   }

   public void setSegundo(Integer segundo) {
      this.segundo = segundo;
   }

   public void configuraHora(int h, int m, int s) {
      if (hora >= 0 && hora < 24) {
         hora = h;
      } else {
         hora = 0;
      }

      if (minuto >= 0 && minuto < 60) {
         minuto = m;
      } else {
         minuto = 0;
      }

      if (segundo >= 0 && segundo < 60) {
         segundo = s;
      } else {
         segundo = 0;
      }
   }

   public String formatoUniversal() {
      return String.format("%02d:%02d:%02d", hora, minuto, segundo);
   }

   public String formatoPadraoHora() {
      if (hora == 0 || hora == 12) {
         hora = 12;
      } else {
         hora = hora % 12;
      }

      if (hora < 12) {
         JOptionPane.showMessageDialog(null, "AM");
      } else {
         JOptionPane.showMessageDialog(null, "PM");
      }

      return (String.format("%02d:%02d:%02d", hora, minuto, segundo));
   }
}
package exercicio1_aula05;

import javax.swing.*;

public class TestaHora {
   public static void main(String [] args) {

      Hora horario = new Hora();

      JOptionPane.showMessageDialog(null, "O horário Universal inicial é: "
              + horario.formatoUniversal());
      JOptionPane.showMessageDialog(null, "O horário padrão inicial é: "
              + horario.formatoPadraoHora());

      horario.configuraHora(21, 51, 18);
      JOptionPane.showMessageDialog(null, "Horário Universal depois de" +
              " configurar a hora: " + horario.formatoUniversal());
      JOptionPane.showMessageDialog(null, "Horário padrão depois de" +
              "configurar a hora: " + horario.formatoPadraoHora());
   }
}

Quando faço a compilação ele aceita normal mas quando eu executo ele da o seguinte erro:

Exception in thread "main" java.lang.NullPointerException
    at exercicio1_aula05.Hora.formatoPadraoHora(Hora.java:71)
    at exercicio1_aula05.TestaHora.main(TestaHora.java:19)

Alguém pode me ajudar e explicar o porque do erro?

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java8 ou faça a sua própria pergunta.