Eu comecei a criar as classes segundo as primeiras aulas, mas algumas coisas ficaram diferentes, por exemplo a data e fiquei com dúvida em alguns métodos que tinham calculos e agora como eu faço calculo com métodos?
class Funcionario {
String nome;
String departamento;
private double salario;
String dataEntrada;
String rg;
public void mostra() {
System.out.println("Nome: " + this.nome);
System.out.println("Departamento: " + getDepartamento());
System.out.println("Salário: R$" + getSalario());
//System.out.println("Data de entrada: " + getDataEntrada()); não achei o erro
System.out.println("RG: " + this.rg);
System.out.println("Ganho anual: R$" + getGanhoAnual());
}
public double getGanhoAnual() {
return this.salario * 12;
}
public String getNome() {
return this.nome;
}
public void setNome (String nome) {
this.nome = nome;
}
public String getDepartamento() {
return this.departamento;
}
public void setDepartamento (String departamento) {
this.departamento = departamento;
}
public double getSalario() {
return this.salario;
}
public void setSalario (double salario) {
this.salario = salario;
}
/* public Data getDataEntrada() {
return this.dataEntrada;
}
public void setDataEntrada (Data dataEntrada) {
this.dataEntrada = dataEntrada;
} não encontra*/
public String getRg() {
return this.rg;
}
public void recebeAumento(double aumento) {
getSalario() += aumento; // como fica aqui, agora que são métodos?
}
public double calculaGanhoAnual() {
return getSalario() * 12;
}
}
class Empresa {
private String nome;
private String cnpj;
private Funcionario[] funcionarios;
private int livre = 0;
public String getNome() {
return this.nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCnpj() {
return this.cnpj;
}
public void setCnpj(String cnpj) {
this.cnpj = cnpj;
}
public Funcionario getFuncionario(int posicao) {
return this.funcionarios[posicao];
}
void adicionar(Funcionario f) {
this.funcionarios[this.livre] = f;
this.livre++;
}
void mostraFuncionarios() {
for (int i = 0; i < this.livre; i++) {
System.out.println("Funcionário na posição: " + i);
System.out.println("R$" + this.funcionarios[i].getSalario());
}
}
void mostraTodasAsInformacoes() {
for (int i = 0; i < this.livre; i++) {
System.out.println("Funcionário na posição: " + i);
this.funcionarios[i].mostra();
}
}
boolean contem(Funcionario f) {
for (int i = 0; i < this.livre; i++) {
if (f == this.funcionarios[i]) {
return true;
}
}
return false;
}
}
class TestaEmpresa{
public static void main(String[] args){
Empresa novaempresa = new Empresa();
novaempresa.funcionarios = new Funcionario[5];// essa linha reclama que o funcionario é private " has private acess in Empresa"
for (int i = 0; i < 5; i++) {
Funcionario f = new Funcionario();
f.setSalario(1000 + i * 100);
novaempresa.adicionar(f);
}
}
}
class TestaFuncionario {
public static void main(String[] args) {
Funcionario f1 = new Funcionario();
f1.setSalario(1234);
f1.getFuncionario(2); // cannot find symbol
}
}