I have 3 classes involved in this error: TestCompany, Company, Employee.
My idea is to create an employee array within Enterprise and print it at TestaEmpresa. For this I made a function called "show ()". It should issue the output through a "System.out.prinln ()" for each attribute that is in the Official. But I got the following error when trying to compile the classes.
Error: The method println (boolean) in the type PrintStream is not applicable for the arguments (void).
I will now place the classes for analysis:
TestCompany:
package projetoMeuBanco;
public class TestaEmpresa {
public static void main(String[] args) {
//Crie um objeto de classe empresa.
Empresa empresa = new Empresa();
//Array de Funcionarios:
empresa.setFuncionarios(new Funcionario[5]);
//Crie alguns funcionarios e preencha seus atributos, em seguida add a classe empresa.
Funcionario func1 = new Funcionario();
Funcionario func2 = new Funcionario();
Funcionario func3 = new Funcionario();
func1.setNome("Aldo");
func2.setNome("Baldo");
func3.setNome("Caldo");
func1.dataDeNascimento.setDia("16");
func1.dataDeNascimento.setMes("02");
func1.dataDeNascimento.setAno("1997");
func2.dataDeNascimento.setDia("17");
func2.dataDeNascimento.setMes("03");
func2.dataDeNascimento.setAno("1998");
func3.dataDeNascimento.setDia("18");
func3.dataDeNascimento.setMes("04");
func3.dataDeNascimento.setAno("1999");
//Add os funcionarios a empresa.
empresa.adciona(func1);
empresa.adciona(func2);
empresa.adciona(func3);
//Usando o foreach percorra funcionarios da empresa.
for (Funcionario f: empresa.funcionarios)
{
System.out.println(f.mostra());
}
}
}
Company:
package projetoMeuBanco;
public class Empresa{
private String nome, cnpj;
protected Funcionario[] funcionarios;
private int posicaoLivre;
public void adciona (Funcionario func) {
this.funcionarios[this.posicaoLivre]=func;
this.posicaoLivre++;
}
public Funcionario[] getFuncionarios() {
return funcionarios;
}
public void setFuncionarios(Funcionario[] funcionarios) {
this.funcionarios = funcionarios;
}
}
Officer:
package projetoMeuBanco;
//Atributos
public class Funcionario {
private String nome;//get e set
private String departamento;//get e set
private double salario=1000;//get
private boolean ativo;//is e set
protected Data dataDeNascimento = new Data();
public void aumentarSalario(double aumento) {
this.salario=this.salario*aumento;
}
public void mostra() {
System.out.println("Nome: "+this.nome+".");
System.out.println("Salário: "+this.salario+".");
System.out.println("Data de nascimento: "+dataDeNascimento.data());
System.out.println("Está na empresa?");
if(ativo) {
System.out.print("Sim\n");
}else {
System.out.print("Não\n");
}
}
public boolean demite() {
ativo=false;
return ativo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getDepartamento() {
return departamento;
}
public void setDepartamento(String departamento) {
this.departamento = departamento;
}
public boolean isAtivo() {
return ativo;
}
public void setAtivo(boolean ativo) {
this.ativo = ativo;
}
public double getSalario() {
return salario;
}
}
These codes are in the same package and I wanted to call the officials vector that is located in the company class. So using the method shows that it is in officials. But I think you're having a problem with that call.
I did not use any boolean method by the way and yet this error appeared speaking Boolean. I would like you to help me understand better because I had this problem. And what may be causing this error.