Ao compilar a classe que contém o main, obtenho esse erro, após inserir apenas um construtor, porém mantive também minhas outras instâncias.
--> Classe Data
class Data{
int dia, mes, ano;
public Data(int dia, int mes, int ano){
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
}
--> Classe Empresa
class Empresa{
private String Cnpj;
int livre = 0;
private Funcionario[] funcionarios;
public void setFuncionarios(Funcionario[] funcionarios){
this.funcionarios = funcionarios;
}
public void adiciona(Funcionario f) {
this.funcionarios[this.livre] = f;
this.livre++;
}
public Funcionario getFuncionario (int posicao) {
return this.funcionarios[posicao];
}
public void mostraTodasAsInformacoes() {
System.out.println("Com o CNPJ: " + getCnpj());
for (int i = 0; i < this.funcionarios.length; i++) {
Funcionario funcionario = this.funcionarios[i];
if (funcionario == null)
continue;
funcionario.mostra();
System.out.println("Funcionario na posicao: " + i);
}
}
boolean contem(Funcionario f) {
for (int i =0; i<funcionarios.length; i++){
if(f == funcionarios[i]){
return true;
}
}
return false;
}
public String getCnpj(){
return this.Cnpj;
}
public void setCnpj(String Cnpj){
this.Cnpj = Cnpj;
}
}
--> Classe Funcionário
class Funcionario{
String nome, dpto, rg;
double salarioAnual;
private double salario;
double aumentosalario;
Data dataEntrada;
public Funcionario(String nome) {
this.nome = nome;
}
public Funcionario(String nome, double aumentosalario) {
this.nome=nome;
this.aumentosalario=aumentosalario;
}
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 dataEntrada){
this.dataEntrada =dataEntrada ;
}
public Data getData() {
return this.dataEntrada;
}
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("Trabalha no departamento de:" + getDpto());
System.out.println("salario atual:" + getSalario());
System.out.println("salario com aumento:" + getAumentoSalario());
System.out.println("Salario Anual: " + getcalculaGanhoAnual());
}
}
--> Classe TestaEmpresa
public class TestaEmpresa{
public static void main(String[] args) {
Empresa empresa = new Empresa();
empresa.setCnpj("11112223344414");
empresa.setFuncionarios(new Funcionario[5]);
Funcionario f1 = new Funcionario();
//*exercicio 1
Funcionario joao = new Funcionario("Joao Cabral de Melo Neto First", 0);
empresa.adiciona(joao);
//*exercicio 1 fim
f1.setSalario(1000);
f1.rg = "50.12.15-X";
f1.setNome("Primeiro Funcionario");
f1.dpto = "Tralalalala ooooo";
f1.setData(new Data(20,12,2017));
f1.recebeAumento(100.0);
empresa.adiciona(f1);
Funcionario f2 = new Funcionario();
f2.nome="Segundo Aee";
f2.setSalario(2000);
f2.rg = "35.112.23-X";
f2.dpto = "Oiiii Tralalalala ooooo";
f2.setData(new Data(25,12,2017));
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);
empresa.mostraTodasAsInformacoes();
boolean teste = empresa.contem(f3);
System.out.println(teste);
}
}