Bom pessoal to seguinles do a apostila caelum j11 e estou implementando um código chamado funcionário que eles sugerem.
Meu namoro com o código estava uma doçura até que no Cap. 6 pag 71 eles pedem pra qdo salvar a data de admissão do funcionario evitar que se grave 31/02/anoX por exemplo.
Ai coloquei um IF no metodo “preencheData” mas tudo virou um caos: 31 erros e não consegui sacar o que o compilador ta dando como menssagem de erro.
help please felows!!! :roll:
o main:
class TestaEmpresa {
public static void main (String[] args){
Empresa RCY = new Empresa(1000);
Funcionario F1 = new Funcionario("Rafael Muinarczyki");
F1.setDepartamento("Tecnologia");
F1.setSalario(6000);
F1.setRG("[telefone removido]");
F1.preencheData(28, 02, 2000);
RCY.adiciona(F1);
Funcionario F2 = new Funcionario("Pedro Paulo");
F2.setDepartamento("Administracao");
F2.setSalario(1000);
F2.setRG("[telefone removido]");
F2.preencheData(30, 03, 2005);
RCY.adiciona(F2);
Funcionario F3 = new Funcionario("Peter");
F3.setDepartamento("Contabilidade");
F3.setSalario(1000);
F3.setRG("[telefone removido]");
F3.preencheData(10, 8, 1989);
RCY.adiciona(F3);
RCY.totalFuncionarios();
RCY.mostraEmpregados();
RCY.verifica(1000);
RCY.demite("Peter");
RCY.totalFuncionarios();
RCY.mostraEmpregados();
}
}
a classe empresa:
class Empresa {
private String nome;
private String cnpj;
private Funcionario[] empregados;
Empresa (int x){
empregados = new Funcionario[x];
}
public Funcionario pegaFuncionario(int posicao){
return this.empregados[posicao];
}
public boolean adiciona(Funcionario ficha){
for (int i=0; i<this.empregados.length; i++){
if (this.empregados[i]==null){
this.empregados[i] = ficha;
return true;
}
}
return true;
}
public boolean totalFuncionarios(){
for ( int i=0; i<this.empregados.length; i++){
if (this.empregados[i]!=null){
System.out.println("Total atual de funcionarios " + this.empregados[i].getIdentificador());
break;
}
}
return true;
}
public boolean mostraEmpregados(){
for ( int i=0; i<this.empregados.length; i++){
if (this.empregados[i]!=null){
this.empregados[i].mostra();
}
}
return true;
}
public boolean verifica(double salarioProcurado){
for (int i=0; i<this.empregados.length; i++){
if (this.empregados[i]!=null){
if (this.empregados[i].getSalario() == salarioProcurado){
System.out.println("temos um funcionario com salario de " + salarioProcurado + " na posicao " + i);
}
}
}
return true;
}
public boolean demite(String nomeProcurado){
for (int i=0; i<this.empregados.length; i++){
if (this.empregados[i]!=null){
if (this.empregados[i].getNome() == nomeProcurado){
System.out.println("Demitindo" + this.empregados[i].getNome());
this.empregados[i].setDiminuir();
this.empregados[i]=null;
}
}
}
return true;
}
}
a classe funcionario:
class Funcionario {
private String nome;
private String departamento;
private double salario;
private Data admissao = new Data();
private String rg;
private static int identificador;
public Funcionario(){ this.identificador++ ;}
public Funcionario(String Nome){
this.nome = Nome;
this.identificador++ ;
}
public void setNome(String Nome){this.nome = Nome;}
public void setDepartamento(String Departamento){this.departamento=Departamento;}
public void setSalario(int Salario){this.salario=Salario;}
public void setRG(String RG){this.rg=RG;}
public void setDiminuir(){this.identificador=this.identificador-1;
public void preencheData(int D, int M, int A){
if (M != 02 & D>0 & D<32){ // se nao for fevereiro dia pode ser entre 1 e 31
this.admissao.setDia(D);
this.admissao.setMes(M);
this.admissao.setAno(A);
}
if (M = 02 & D>0 & D<29){ // se for fevereiro dia tem q ser entre 1 e 28
this.admissao.setDia(D);
this.admissao.setDia(M);
this.admissao.setDia(A);
}
else {System.out.println("Voce inseriu valores errados");}
}
public String getNome(){
return this.nome;
}
public double getSalario(){
return this.salario;
}
public int getIdentificador(){
return this.identificador;
}
public void bonifica(){
int anosTrabalhados = 2011 - this.admissao.getAno();
double bonificacao = this.salario / 100 * anosTrabalhados + this.salario;
System.out.println("Salario + Bonificacao= " + bonificacao);
System.out.println("---------------------");
}
public void mostra(){
System.out.println("---------------------");
System.out.println("Nome: " + this.nome);
System.out.println("Departamento: " + this.departamento);
System.out.println("Salario " + this.salario);
System.out.println("RG: " + this.rg);
System.out.println("Dia de admissao: " + this.admissao.getDia());
System.out.println("Mês de admissao: " + this.admissao.getMes());
System.out.println("Ano de admissao: " + this.admissao.getAno());
System.out.println("---------------------");
}
}
valeu brothers!!!