Estou com dificuldades em mudar o modificador de acesso na variável "dataEntrada" do tipo "Data" para Private. Sei que a lógica dele é diferente. O código abaixo está compilado, mas sem o Private no Data dataEntrada.
Se alguém puder ajudar, agradeço!
class Empresa{
public String nomeEmp;
public String cnpj;
public String end;
public String cid;
public String pais;
public int livre = 0;
public Funcionario[] colaboradores;
void adiciona(Funcionario f){
this.colaboradores[this.livre] = f;
this.livre++;
}
boolean contem(Funcionario f) {
for (int i = 0; i < this.livre; i++) {
if (f == this.colaboradores[i]) {
System.out.println("contem Funcionário");
return true;
}
}
return false;
}
void mostra(){
System.out.println("\n\n++++++++++++++++++++++++++++++++++++++++++++\n\n");
System.out.println("_______DADOS EMPRESA_______\n");
System.out.println("Nome da empresa: " +this.nomeEmp);
System.out.println("CNPJ:" +this.cnpj);
System.out.println("Endereço: " +this.end);
System.out.println("Cidade: " +this.cid);
System.out.println("País: " +this.pais);
System.out.println("\n\n++++++++++++++++++++++++++++++++++++++++++++\n\n");
for (int i = 0; i < livre; i++){
System.out.println("\n_______Funcionario na posição: "+i+"_______\n");
System.out.println("Nome do funcionário: " +this.colaboradores[i].getNome());
System.out.println("Cargo: " +this.colaboradores[i].getFunc());
System.out.println("CPF: " +this.colaboradores[i].getCpf());
System.out.println("Idade: " +this.colaboradores[i].getIdade());
System.out.println("Salário: " +this.colaboradores[i].getAumentoSalario());
System.out.println("Salário anual: " +this.colaboradores[i].calculoGanhoAnual());
System.out.println("Data de entrada: " +this.colaboradores[i].dataEntrada.getDataFormatada());
System.out.println("\n\n----------------------------------------\n\n");
}
}
}
class Funcionario{
private String nome;
private String func;
private String cpf;
private int idade;
private double salario;
public Data dataEntrada; // Mudar modificar de acesso para Private
public void setNome(String nome){
this.nome = nome;
}
public String getNome(){
return this.nome;
}
public void setFunc(String func){
this.func = func;
}
public String getFunc(){
return this.func;
}
public void setCpf(String cpf){
this.cpf = cpf;
}
public String getCpf(){
return this.cpf;
}
public void setIdade(int idade){
this.idade = idade;
}
public int getIdade(){
return this.idade;
}
public void setAumentoSalario(double salario){
if(salario >= 788 && salario <= 1576){
this.salario += salario + salario * 0.1;
}
else if(salario >= 3152 && salario <= 5516){
this.salario += salario + salario * 0.07;
}
else if(salario >= 5516){
this.salario += salario + salario * 0.05;
}
else
System.out.println("Opção Inválida!");
}
public double getAumentoSalario(){
return this.salario;
}
public double calculoGanhoAnual(){
return this.salario * 12;
}
}
class Data{
int dia;
int mes;
int ano;
void setPreencheData(int dia, int mes, int ano){
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
String getDataFormatada(){
return this.dia+"/"+this.mes+"/"+this.ano;
/*
Date date = ...; // wherever you get this
DateFormat df = new SimpleDateFormat("dd\MM\YYYY");
String text = df.format(date);
System.out.println(text);
*/
}
}
class A5_2_MF{
public static void main (String[] args) {
Empresa emp = new Empresa();
emp.colaboradores = new Funcionario[10];
emp.nomeEmp = "Tti";
emp.cnpj = "xxx.xxx.xxx.xxx";
emp.end = "Rua Torvalds, 01";
emp.cid = "Coromandel";
emp.pais = "Brasil";
Funcionario f1 = new Funcionario();
f1.dataEntrada = new Data();
f1.setNome("Maicon");
f1.setFunc("T.I");
f1.setCpf("xxx.xxx.xxx");
f1.setIdade(25);
f1.setAumentoSalario(13000);
f1.dataEntrada.setPreencheData(22, 02, 2014);
emp.adiciona(f1);
Funcionario f2 = new Funcionario();
f2.dataEntrada = new Data();
f2.setNome("Dalila");
f2.setFunc("Analista");
f2.setCpf("xxx.xxx.xxx");
f2.setIdade(30);
f2.setAumentoSalario(5300);
f2.dataEntrada.setPreencheData(17, 05, 2015);
emp.adiciona(f2);
Funcionario f3 = new Funcionario();
f3.dataEntrada = new Data();
f3.setNome("Túlio");
f3.setFunc("Professor");
f3.setCpf("xxx.xxx.xxx");
f3.setIdade(25);
f3.setAumentoSalario(15300);
f3.dataEntrada.setPreencheData(22, 12, 2016);
emp.adiciona(f3);
emp.mostra();
}
}