Galera,
Estou fazendo alguns exercícios da apostila do CAELUM tentando implementar algumas coisinhas amais, porém estou com dificuldade em fazer com que uma classe chamada Funcionario recebe em um array, os valores vindos de outra classe chamada RodaFuncionario.
Segue o código:
EDIT - Por favor, use o botãozinho “code” para entrar com código.
FUNCIONARIO
public class Funcionario {
public int cod_Funcio[]=new int[2];
private String nome_Funcio[]=new String[2];
private double salario_Funcio[]=new double[2];
private long rg_Funcio[]=new long[2];
private String cpf_Funcio[]=new String[2];
private boolean status_Funcio[]=new boolean[2];
private Data data;
public void Funcionario(
int cod_Funcio[],
String nome_Funcio[],
Data dt_Nasc_Funcio[],
Data dt_Contrat_Funcio[],
long rg_Funcio[],
String cpf_Funcio[],
int counter) {
//for(counter=0; counter < cod_Funcio.length;counter++){
this.cod_Funcio[counter] = cod_Funcio[counter];
this.nome_Funcio[counter] = nome_Funcio[counter];
this.rg_Funcio[counter]=rg_Funcio[counter];
this.cpf_Funcio[counter]=cpf_Funcio[counter];
//}
}
public int getCodigoFunc(int[] cod_Funcio,int counter){
return this.cod_Funcio[counter];
}
public String getNomeFunc(String[] nome_Funcio,int counter){
return this.nome_Funcio[counter];
}
public long getRg_Func(long[] rg_Funcio, int counter){
return this.rg_Funcio[counter];
}
public String getCPF_Func(String[] cpf_Funcio, int counter){
return this.cpf_Funcio[counter];
}
public void setCodFuncio(int cod_Funcio[],int i){
this.cod_Funcio[i]=cod_Funcio[i];
}
public void setNome_Func(String nome_Funcio[],int i){
this.nome_Funcio[i]=nome_Funcio[i];
}
public void setRG_Funcio(long rg_Funcio[],int i){
this.rg_Funcio[i]=rg_Funcio[i];
}
public void setcpf_Funcio(String cpf_Funcio[],int i){
this.cpf_Funcio[i]=cpf_Funcio[i];
}
public void printFuncionario(){
System.out.printf("%s%13s%21s%37s%54s%60s\n","Codigo","Nome","DtNascimento",
"DtContratacao","RG","CPF");
for(int i : cod_Funcio){
System.out.print(this.cod_Funcio[i]+" ");
System.out.print(this.nome_Funcio[i]+" ");
data.juntaDataNasc();
data.juntaDataContrat();
System.out.print(this.rg_Funcio[i]+" ");
System.out.print(this.cpf_Funcio[i]);
}
//System.out.printf("%5d%8d%16d%17d%6d%7d\n",cod_Funcio[i],nome_Funcio[i],
//data.getDiaNascimento(i), DtContratacao RG CPF);
}
public void workStarStop(boolean[] status_Funcio){
for(int counter=0;counter< status_Funcio.length;counter++){
if(counter % 2 ==0)
this.status_Funcio[counter]=true;
else
this.status_Funcio[counter]=true;
}
}
public void printStatus(boolean[] status_Funcio){
for(int i : cod_Funcio){
if(status_Funcio[i]== true)
System.out.println("Sr(a). "+nome_Funcio[i]+" está trabalhando" );
}
}
public void atribuiSalario(){
for(int counter=0;counter<cod_Funcio.length;counter++){
if(counter<=6){
salario_Funcio[counter]=20*100;
}
else{
salario_Funcio[counter]=20*50;
}
counter=counter+1;
}
}
}
RODA FUNCIONARIO
public class RodaFuncionario {
public static void main(String[] args) {
Data data = new Data();
Funcionario funcionario= new Funcionario();
for(int i=0; i < funcionario.cod_Funcio.length; i++){
funcionario.setCodFuncio(i+1,i);
/*A intenção aqui é passar os dados para os metodos set... da classe funcionario, porém está alegando erro nos métodos set daqui da classe RodaFuncionario*/
}
}
}
DATA
public class Data {
private int dia_Nasc[]=new int[2];
private int dia_Contrat[]=new int[2];
private int mes_Nasc[]=new int[2];
private int mes_Contrat[]=new int[2];
private int ano_Nasc[]=new int[2];
private int ano_Contrat[]=new int[2];
public int getDiaNascimento(int dia_Nasc[], int i){
return this.dia_Nasc[i];
}
public int getDiaContratacao(int dia_contrat[], int i){
return this.dia_Contrat[i];
}
public int getMesNascimento(int mes_Nasc[], int i){
return this.mes_Nasc[i];
}
public int getMesContratacao(int mes_Contrat[], int i){
return this.mes_Contrat[i];
}
public int getAnoNascimento(int ano_Nasc[], int i){
return this.ano_Nasc[i];
}
public int getAnoContratacao(int ano_Contrat[], int i){
return this.ano_Contrat[i];
}
public void setDataDia(){
for(int i : dia_Nasc){
this.dia_Nasc[i]=i+1;
this.dia_Contrat[i]=i+10;
}
}
public void setDataMes(){
for(int i : dia_Nasc){
this.mes_Nasc[i]=i+6;
this.mes_Contrat[i]=i+1;
}
}
public void setDataAno(){
for(int i : dia_Nasc){
this.ano_Nasc[i]=1979+1;
if(i==2)
this.ano_Contrat[i]=2004+i;
else
this.ano_Contrat[i]=2000+i;
}
}
public void juntaDataNasc(){
for(int i : dia_Nasc){
System.out.print(dia_Nasc[i]+"/"+mes_Nasc[i]+"/"+ano_Nasc[i]+" ");
}
}
public void juntaDataContrat(){
for(int i : dia_Contrat){
System.out.print(dia_Contrat[i]+"/"+mes_Contrat[i]+"/"+ano_Contrat[i]+" ");
}
}
}
Agradeço desde já a atenção.