Boa noite, estou com problemas nesse exercício.
Segue os erros:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Marcio cannot be resolved to a variable
The method setRg(String) in the type Funcionario is not applicable for the arguments (int)
The method setCpf(String) in the type Funcionario is not applicable for the arguments (int)
The literal 3244783245 of type int is out of range
Diretor cannot be resolved to a variable
The constructor Data(int, int, int) is undefined
at src.TestaFuncionario.main(TestaFuncionario.java:11)
Agora segue meu codigo:
Classe Funcionario
public class Funcionario {
private String nome;
private int idade;
private String rg;
private String cpf;
private String departamento;
private Double salario;
private Data dataEntrada;
private double aumentoSalario;
//Setar nome
public void setNome(String nome){ //Metodo publico para mudar o nome
this.nome = nome;
}
//Pegar nome
public String getNome(){
return this.nome;
}
//Setar idade
public void setIdade(int idade){
this.idade = idade;
}
//Pegar idade
public int getIdade(){
return this.idade;
}
//Setar rg
public void setRg(String rg){
this.rg = rg;
}
//Pegar rg
public String getRg(){
return this.rg;
}
//Setar cpf
public void setCpf(String cpf){
this.cpf = cpf;
}
//Pegar cpf
public String getCpf(){
return this.cpf;
}
//Setar departamento
public void setDepartamento(String departamento){
this.departamento = departamento;
}
//Pegar departamento
public String getDepartamento(){
return this.departamento;
}
//Setar salario
public void setSalario(double salario){
this.salario = salario + aumentoSalario;
}
//Pegar salario
public double getSalario(){
return this.salario;
}
//Setar data de entrada
public void setDataEntrada (Data dataEntrada){
this.dataEntrada = dataEntrada;
}
//Pegar data de entrada
public Data getDataEntrada(){
return this.dataEntrada;
}
//Setar aumento
public void setAumentoSalario(double aumentoSalario){
this.aumentoSalario = aumentoSalario;
}
//Setar promocao
public void setPromocao(String promocao){
this.departamento = promocao;
}
}
Classe TestaFuncionario
public class TestaFuncionario {
public static void main (String [] args){
Empresa e1 = new Empresa();
e1.empregados = new Funcionario[5];
Funcionario f1 = new Funcionario(); //Instancia da classe Funcionario
f1.setNome(Marcio);
System.out.println (f1.getNome());
f1.setIdade(30);
f1.setRg(123123123);
f1.setCpf(3244783245);
f1.setDepartamento(Diretor);
f1.setSalario(15000);
f1.setDataEntrada(new Data(02,04,2008));
e1.mostraTodasInfos();
}
}
Classe Data
public class Data {
int dia;
int mes;
int ano;
public void preencheData(int dia, int mes, int ano){
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
String getFormataData(){
return this.dia + "/" + this.mes + "/" + this.ano;
}
}
Classe Empresa
public class Empresa {
String nome;
String razaoSocial;
String cnpj;
String endereco;
String proprietario;
Funcionario[] empregados;
int livre = 0;
//Metodo para adicionar funcinario em uma posição da memoria livre
void addFuncionario(Funcionario f){
this.empregados[this.livre] = f;
this.livre++;
}
void mostraTodasInfos(){
for (int i=0; i < this.empregados.length; i++){
Funcionario empregados = this.empregados[i];
if (empregados == null) continue;
System.out.println("Funcionario na posição: " + i);
System.out.println("Nome: "+ this.empregados[i].getNome());
System.out.println("Idade: " + this.empregados[i].getIdade());
System.out.println("Rg: " + this.empregados[i].getRg());
System.out.println("CPF: " + this.empregados[i].getCpf());
System.out.println("Departamento: "+ this.empregados[i].getDepartamento());
System.out.println("Salario: R$"+ this.empregados[i].getSalario());
System.out.println("Data de entrada: "+ this.empregados[i].getDataEntrada().getFormataData() + "\n");
}
}
boolean contem(Funcionario f){
for (int i = 0; i < this.livre; i++){
if(f == this.empregados[i]){
return true;
}
}
return false;
}
}