Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Não esta compilando o que esta errado?

Na hora de compilar esta dando erro , o que esta errado.

public class Conta {

    public int conta;
    public String nome;
    public double salario;
    public int agencia;


    public void Status(){
        System.out.println("O seu nome é " + this.nome);
        System.out.println("O numero da sua Conta é : "+ this.conta);
        System.out.println("A sua Agencia é : " + this.agencia);
        System.out.println("O seu salario é :" + this.salario);
        System.out.println(this.dataEntrada.retornaData());

    }
    public void RecebendoAumento(double aumento){
        this.salario = salario + aumento;
        System.out.println("O seu Salario Aumentou : " + this.salario);
    }
    public void CalculoGanhoAnual(){
        this.salario = salario * 12;
        System.out.println("O aumento anual foi de : " + this.salario);
    }
    Data dataEntrada;


}

Fiz em aba diferente.

     public class Data {
    int dia;
    int mes;
    int ano;

    public void Data (int dia,int mes, int ano){
        this.dia = dia;
        this.mes = mes;
        this.ano = ano;
    }
    public String retornaData(){
            return this.dia + "/" + this.mes + "/" + this.ano;
        }
    }
public class Funcionario {

    public static void main(String[] args) {
      Conta f1 = new Conta();


      f1.nome = "Jean";
      f1.conta = 666;
      f1.Status();

      System.out.println("----------------------");

      f1.RecebendoAumento(50);

      f1.CalculoGanhoAnual();

        System.out.println("----------------");

      Conta f2 = new Conta();

      f2.nome = "Carol";
      f2.conta = 585484;
      f2.Status();

        System.out.println("----------------------");

        f2.RecebendoAumento(100);

        f2.CalculoGanhoAnual();

        f1.dataEntrada = new Data();

        f1.dataEntrada.Data(13,9,1991);
        f1.Status();
    }
5 respostas

Jean, coloca o erro que ta dando, por favor.

Fala Jean, está faltando você fechar o {} na sua Class funcionario, você só fechou o } do seu metodo statico

Deixa assim.

public class Funcionario {

    public static void main(String[] args) {
      Conta f1 = new Conta();


      f1.nome = "Jean";
      f1.conta = 666;
      f1.Status();

      System.out.println("----------------------");

      f1.RecebendoAumento(50);

      f1.CalculoGanhoAnual();

        System.out.println("----------------");

      Conta f2 = new Conta();

      f2.nome = "Carol";
      f2.conta = 585484;
      f2.Status();

        System.out.println("----------------------");

        f2.RecebendoAumento(100);

        f2.CalculoGanhoAnual();

        f1.dataEntrada = new Data();

        f1.dataEntrada.Data(13,9,1991);
        f1.Status();
    }
}// falto fechar

Exception in thread "main" java.lang.NullPointerException,

eu fiz a Class Data em outra aba será o motivo do erro?

solução!

Jean e nullPointer? Então tenta formatar o seu código certinho porque achei que o erro de fechar o }.

Ta cara olhando o seu código eu não entendi uma coisa.

 public void Data (int dia,int mes, int ano){
        this.dia = dia;
        this.mes = mes;
        this.ano = ano;
    }

Isso aqui era pra ser um metodo mesmo ou um construtor? Não é bom você fazer metodo com o mesmo nome da sua classe! E o seu erro nullpointer está vindo por causa da data eu acho. Se liga na linha do seu codigo teste.

 public static void main(String[] args) {
      Conta f1 = new Conta();
      f1.nome = "Jean";
      f1.conta = 666;
      f1.Status();

Olha o f1 chamando o metodo status, e outra metodo é sempre bom criar com a letra minuscula. Agora olha que você chamou o metodo status correto? e olha o seu metodo status, ele está buscando uma data, correto? mais essa data não foi preenchida ainda, então ela está vindo null, por isso do seu erro eu acho. Tenta assim apaga os metodos que você chama eles, que é.

public class Funcionario {

    public static void main(String[] args) {
      Conta f1 = new Conta();


      f1.nome = "Jean";
      f1.conta = 666;
      f1.Status(); ///////// APAGA AQUI\\\\\\\\\\\

      System.out.println("----------------------");

      f1.RecebendoAumento(50);

      f1.CalculoGanhoAnual();

        System.out.println("----------------");

      Conta f2 = new Conta();

      f2.nome = "Carol";
      f2.conta = 585484;
      f2.Status(); ///// E APAGA AQUI TAMBÉM\\\\\\\\

        System.out.println("----------------------");

        f2.RecebendoAumento(100);

        f2.CalculoGanhoAnual();

        f1.dataEntrada = new Data();

        f1.dataEntrada.Data(13,9,1991);
        f1.Status(); // DEIXA ESSE PORQUE AGORA JA TEM UMA DATA
    }
}

e manda o retorno pra ver se deu

Alisson Muito Obirgado era isso mesmo , Tive que apagar o f1 e f2.Status() , agora esta normal.

Obrigado.