O Exercício 1 pede o seguinte:
"Adicione um atributo na classe Funcionario de tipo int que se chama identificador. Esse identificador deve ter um valor único para cada instância do tipo Funcionario.
O primeiro Funcionario instanciado tem identificador 1, o segundo 2, e assim por diante."
Então quando eu escrevo meu código, os 2 funcionários estão sendo identificados com o número 0.
eu não sei porque isso acontece!
Eu vou colocar todo o meu código:
class Funcionario{
private String nome;
private int idade;
private String cargo;
private double salario;
Data dataEntrada; // ainda tenho que arruma isso!!!
private double aumentoSalario;
private int identificador;
private static int nFuncionario = 0;
void mostra(){
System.out.println("Nome: " + this.getNome());
System.out.println("Idade: " + this.getIdade());
System.out.println("Data de entrada: " + this.dataEntrada.getDataEntrada());
System.out.println("Cargo : " + this.getCargo());
System.out.println("Salario: " + this.getSalario());
System.out.println("Salario anual: " + this.getSalarioAnual());
System.out.println("\n");
}
public Funcionario(String nome){
this.nome = nome;
this.identificador = ++nFuncionario;
}
public int getIdentificador() {
return this.identificador;
}
public Funcionario(String nome, int idade, String cargo, double salario){
this.nome = nome;
this.idade = idade;
this.cargo = cargo;
this.salario = salario;
}
public String getNome(){
return this.nome;
}
public void setNome(String nome){
this.nome = nome;
}
public int getIdade(){
return this.idade;
}
public void setIdade(int idade){
this.idade = idade;
}
public String getCargo(){
return this.cargo;
}
public void setCargo(String cargo){
this.cargo = cargo;
}
public void setSalario(double novoSalario){
this.salario = novoSalario;
}
public double getSalario(){
return this.salario;
}
public double getSalarioAnual(){
return this.salario * 12;
}
public void setAumentoSalario(double quantidade){
this.salario += quantidade;
}
}
class Data{
int dia;
int mes;
int ano;
void preencheData(int dia, int mes, int ano){
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
public String getDataEntrada(){
return this.dia + "/" + this.mes + "/" + this.ano;
}
}
class Empresa{
String nome;
Funcionario[] empregados;
int vagas = 0;
public Empresa(String nome){
this.nome = nome;
}
void adiciona(Funcionario f){
this.empregados[this.vagas] = f;
vagas++;
}
void mostraTodasAsInformacoes(){
for(int i = 0; i < this.vagas; i++){
System.out.println("Funcionario: " + i);
this.empregados[i].mostra();
}
}
}
class Registro{
public static void main(String[] args) {
Empresa banco = new Empresa("Banco sem Juros!");
banco.empregados = new Funcionario[3];
Funcionario matheus = new Funcionario("Matheus de Wit", 26, "Caixa", 1500.0);
matheus.dataEntrada = new Data();
matheus.dataEntrada.preencheData(01, 02 , 2015);
matheus.setAumentoSalario(500.0);
banco.adiciona(matheus);
Funcionario adriano = new Funcionario("Adriano dos Santos", 35, "Gerente", 2000.0);
adriano.dataEntrada = new Data();
adriano.dataEntrada.preencheData(02, 04 , 2012);
adriano.setAumentoSalario(200.0);
banco.adiciona(adriano);
System.out.println(matheus.getIdentificador());
System.out.println(adriano.getIdentificador());
}
}