O contador deveria exibir o valor do funcionário inserido pelo construtor? Apenas quando eu chamo o método 'adiciona' é contabilizado a variável estática, porém não conta o do construtor.
public class TestaEmpresa{
public static void main(String[] args) {
int qtd=0;
Empresa empresa = new Empresa(2);
new Empresa(qtd);
empresa.setCnpj("1111 Exercicio de modificacao de acesso aula cinco");
empresa.setFuncionarios(new Funcionario[6]);
Funcionario f1 = new Funcionario();
//Construtor
Funcionario joao = new Funcionario("Joao Cabral de Melo Neto First", 3000, 200 , "35.245.854-11", "Depto Agencioa", new Data(17,01,2018) );
empresa.adiciona(joao);
Funcionario joana = new Funcionario("Joana Martins Ferraz", 3002, 300 , "132.245.854-11", "Depto Agencib", new Data(9,4,2018) );
empresa.adiciona(joana);
f1.setSalario(1000);
f1.rg = "50.12.15-X";
f1.setNome("Primeiro Funcionario");
f1.dpto = "Tralalalala ooooo";
f1.setData(new Data(30,12,2017));
f1.recebeAumento(100.0);
empresa.adiciona(f1);
Funcionario f2 = new Funcionario();
f2.nome="Segundo Aee";
f2.setSalario(2000);
f2.recebeAumento(200.0);
f2.rg = "35.112.23-X";
f2.dpto = "Oiiii Tralalalala ooooo";
f2.setData(new Data(05,12,2018));
empresa.adiciona(f2);
Funcionario f3 = new Funcionario();
f3.nome="Terceiro Thrice";
f3.setSalario(3000);
f3.rg = "42.256.89-3";
f3.dpto = "Oiiii Tralalalala ooooo uooo";
f3.setData(new Data(30,12,2017));
empresa.adiciona(f3);
Funcionario f4 = new Funcionario();
f4.nome="Quarto Candy";
f4.setSalario(4000);
f4.rg = "42.444.89-3";
f4.dpto = "Pist the best Of";
f4.setData(new Data(9,04,2018));
empresa.adiciona(f4);
empresa.mostraTodasAsInformacoes();
//empresa2.mostraTodasAsInformacoes();
boolean teste = empresa.contem(f2);
System.out.println(teste);
/* Verificar porque o array abaixo está vindo Vazio, averiguar a classe Empresa */
empresa.tamanhoArray();
System.out.println("\n Total de funcionários inseridos = "+ Funcionario.getTotaldeFuncionarios());
System.out.println("\n--------------- FIM -----------------");
}
}
class Funcionario{
String nome, dpto, rg;
double salarioAnual;
private double salario;
double aumentosalario;
private Data formata;
private static int totalFuncionarios =0;
Funcionario() {
this.totalFuncionarios = Funcionario.totalFuncionarios + 1;
}
public static int getTotaldeFuncionarios() {
return Funcionario.totalFuncionarios;
}
public Funcionario(String nome) {
this.nome = nome;
}
public Funcionario(String nome, double salario, double aumentosalario, String rg, String dpto, Data formata) {
this.nome=nome;
this.salario=salario;
this.aumentosalario=aumentosalario;
this.rg= rg;
this.dpto= dpto;
this.formata= formata;
}
public String getNome(){
return this.nome;
}
public void setNome(String nome) {
this.nome =nome;
}
public String getDpto(){
return this.dpto;
}
public void setDpto(String depto){
this.dpto = dpto;
}
public String getRg(){
return this.rg;
}
public void setRg(String rg){
this.rg= rg;
}
public void recebeAumento(double aumento){
this.aumentosalario = this.salario + aumento;
}
public double getAumentoSalario(){
return this.aumentosalario;
}
double getcalculaGanhoAnual(){
return salarioAnual = this.salario * 12;
}
public void setSalario(double salario){
this.salario = salario;
}
public double getSalario(){
return this.salario;
}
public void setData(Data formata){
this.formata =formata ;
}
public Data getData() {
return this.formata;
}
public void mostra(){
System.out.println("Funcionario:" + getNome());
System.out.println("RG:" + getRg());
//System.out.println("Data de entrada: " +this.getData().dia+"/"+this.getData().mes+"/"+this.getData().ano);
System.out.println("Data de entrada: " + this.getData().formata());
System.out.println("Trabalha no departamento de:" + getDpto());
System.out.println("salario atual:" + getSalario());
System.out.println("salario com aumento:" + getAumentoSalario());
System.out.println("Salario Anual: " + getcalculaGanhoAnual());
}
}