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

Dúvida no identificar - Ex.1 da Aula 7

Não consegui achar o erro, mas quando coloco para rodar, o identificador de cada funcionário é o mesmo. (0 e 0). Alguém poderia tirar a dúvida de como posso resolver isso?

public class Funcionario {

    private String departamento;
    private String nome;
    private double salario;
    private String dataEntradaBanco;
    private String rg;
    private Data dataDeEntrada;
    private static int identificador;
    private int nFuncionario = 0;



    public Funcionario() {
        Funcionario.identificador = ++nFuncionario;
    }

    public Funcionario(String nome){
        this.nome = nome;
        Funcionario.identificador = ++nFuncionario;
    }

    public static int getIdentificador() {
        return Funcionario.identificador;
    }




public class TesteFuncionario {

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

//        f1.setNome("Gustavo");
//        f1.setSalario(2000);
//        f1.recebeAumento(200);
//
//        f1.setDataDeEntrada(new Data());                   
//        f1.preencheDataDeEntrada(new Data(24, 12, 2016));
//
//        f1.mostra();
//        
        System.out.println(f1.getIdentificador());
        System.out.println(f2.getIdentificador());



    }
}
2 respostas

O número de funcionários deve ser STATIC (porque será comum a todos os objetos).

Porém, o identificador do funcionário não pode ser STATIC (porque será único para cada objeto).

Algumas linhas precisam ser alteradas.

   private int identificador;
    private static  int nFuncionario = 0;
public Funcionario() {
        this.identificador = ++nFuncionario;
    }

    public Funcionario(String nome){
        this.nome = nome;
        this.identificador = ++nFuncionario;
    }

    public  int getIdentificador() {
        return    this.identificadorr;
    }
solução!

Oi Gustavo, Gabriel

Esse tópico está duplicado. Estou passando aqui o link do tópico original, pra quem cair aqui no futuro conseguir acompanhar em um único lugar, ta bem?

https://cursos.alura.com.br/forum/topico-duvida-no-identificar-ex-1-da-aula-7-25026