public class Funcionario {
private String nome;
private String departamento;
private double salario;
private Data dataDeEntrada;
private int rg;
public Funcionario(String nome, String departamento, int rg){
this.nome = nome;
this.departamento = departamento;
this.rg = rg;
}
public Funcionario(){
}
public void recebeAumento(double valor) {
this.salario += valor;
}
public double getGanhoAnual() {
return this.salario * 12;
}
public String getNome() {
return this.nome;
}
public void setNome(String novoNome) {
this.nome = novoNome;
}
public String getDepartamento() {
return this.departamento;
}
public void setDepartamento(String novoDepartamento) {
this.departamento = novoDepartamento;
}
public double getSalario() {
return this.salario;
}
public void setSalario(double novoSalario) {
this.salario = novoSalario;
}
public Data getDataEntrada(){
return this.dataDeEntrada;
}
public void setDataDeEntrada(Data dataDeEntrada){
this.dataDeEntrada = dataDeEntrada;
}
public void setRg(int novoRg){
this.rg = novoRg;
}
public double getRg() {
return this.rg;
}
public void mostra() {
System.out.println("Nome: " + this.nome);
System.out.println("Departamento: " + this.departamento);
System.out.println("Salário: " + this.salario);
System.out.println("Data de entrada no banco: " + this.dataDeEntrada.getFormatada());
System.out.println("RG: " + this.rg);
System.out.println("Ganho anual: R$ " + this.getGanhoAnual());
}
}
package classes;
public class Empresa {
private Funcionario[] empregados;
private String nome;
private int cnpj;
private String endereco;
private int telefone;
private int livre = 0;
public String getNome() {
return this.nome;
}
public void setNome(String novoNome) {
this.nome = novoNome;
}
public int getCnpj() {
return this.cnpj;
}
public void setCnpj(int novoCnpj) {
this.cnpj = novoCnpj;
}
public String getEndereco() {
return this.endereco;
}
public void setEndereco(String novoEndereco) {
this.endereco = novoEndereco;
}
public int getTelefone() {
return this.telefone;
}
public void setTelefone(int novoTelefone) {
this.telefone = novoTelefone;
}
public Funcionario getFuncionario(int posicao){
return this.empregados[posicao];
}
public void setFuncionario(Funcionario[] novosEmpregados){
this.empregados = novosEmpregados;
}
public void adiciona(Funcionario f) {
this.empregados[this.livre] = f;
this.livre++;
}
public void mostraEmpregados() {
for (int i = 0; i <= this.empregados.length; i++) {
System.out.println("Funcionário na posição: " + i);
System.out.println("Salário do funcionário: " + this.empregados[i].getSalario());
System.out.println("Departamento do funcionário: " + this.empregados[i].getDepartamento());
if (empregados[i].getDepartamento() == null) {
continue;
}
}
}
public void mostraTodasInformacoes() {
for (int i = 0; i < this.livre; i++) {
System.out.println("Funcionario na posição: " + i);
this.empregados[i].mostra();
}
}
public boolean contem(Funcionario f) {
for (int i = 0; i <= this.empregados.length; i++) {
if (this.empregados[i] == f) {
System.out.println("Funcionário está atuando na empresa.");
return true;
}
}
System.out.println("Funcionário não está atuando na empresa.");
return false;
}
}
package classes;
public class TestaEmpresa {
public static void main(String[] args) {
// TODO Auto-generated method stub
Empresa empresa = new Empresa();
empresa.getFuncionario(posicao); //erro = posicao cannot be resolved to a variable//
empresa.setFuncionario(novosEmpregados);// erro = novosEmpregados cannot be resolved to a variable
empresa.empregados = new Funcionario[10]; // the field Empresa.empregados is not visible
Funcionario f1 = new Funcionario();
f1.setNome("Hugo");
f1.setDepartamento("TI");
f1.setSalario(1000);
Data d = new Data();
d.preencheData(8, 1, 2017);
f1.setDataDeEntrada(d);
f1.setRg(12345);
empresa.adiciona(f1);
Funcionario f2 = new Funcionario();
f2.setNome("Carlos");
f2.setDepartamento("Infraestrutura");
f2.setSalario(1000);
Data e = new Data();
e.preencheData(10, 12, 2010);
f2.setDataDeEntrada(e);
f2.setRg(29449);
empresa.adiciona(f2);
}
}