Então galera, to com um programinha de empresa x funcionario, tenho 3 classes: empresa, funcionario e a classe Main, criei um array para os funcionario, com nome de empregados, a minha dificuldade estar no seguinte, na classe empresa criei um método getFuncionario(), método esse q recebe como parametros, a posição no array, e retorna o funcionário que se encontra naquela posição, o problema é q ele me retorna o seguinte: ProjetoFuncionario.Funcionario@1d8957f, e quero q retorne nome, departamento e rg. Alguem pode me ajudar?
// Classe Funcionario.
package ProjetoFuncionario;
public class Funcionario {
private String nome;
private String departamento;
private float salario;
private String dataEnt;
private String rg;
public Funcionario(){
}
public Funcionario (String nome, String departamento, float salario, String dataEnt, String rg)
{
this.departamento = departamento;
this.nome = nome;
this.salario = salario;
this.dataEnt = dataEnt;
this.rg = rg;
}
public void setnome (String n){
this.nome = n;
}
public String getnome (){
return this.nome;
}
public void setdepartamento (String d){
this.departamento = d;
}
public String getdepartamento (){
return this.departamento;
}
public void setsalario (float s){
this.salario = s;
}
public float getsalario (){
return this.salario;
}
public void setdataEnt (String d){
this.dataEnt = d;
}
public String getdataEnt (){
return this.dataEnt;
}
public void setrg (String rg){
this.rg = rg;
}
public String getrg (){
return this.rg;
}
void recebeAumento (float aumento){
float novoSalario = this.salario + aumento;
this.salario = novoSalario;
}
public float getcalculaGanhoAnual (){
return this.salario * 12;
}
void mostra (){
System.out.println("Nome: "+ nome);
System.out.println("Departamento: "+ departamento);
System.out.println("Salario: "+ salario);
System.out.println("Data de Entrada: "+ dataEnt);
System.out.println("RG: "+ rg);
}
}
Classe Empresa
package ProjetoFuncionario;
public class Empresa {
private String nome;
private String cnpj;
Funcionario[] empregados;
int i = 0;
Empresa (int tamanho,String nome, String cnpj)
{
empregados = new Funcionario [tamanho];
this.nome = nome;
this.cnpj = cnpj;
}
public void setnome (String nome)
{
this.nome = nome;
}
public String getnome ()
{
return this.nome;
}
public void setcnpj (String cnpj)
{
this.cnpj = cnpj;
}
public String getcnpj ()
{
return this.cnpj;
}
public Funcionario getFuncionario (int posicao)
{
return this.empregados [posicao];
}
boolean consulta(Funcionario f)
{
for (int i = 0; i < this.empregados.length; i++)
{
if (f == empregados[i])
{
System.out.println("Funcionario já trabalha nesta empresa");
return true;
}
}
System.out.println("O Funcionário não trabalha conosco");
return false;
}
void adiciona (Funcionario f)
{
if (i > 10){
System.out.println("Cheio!");
}
else{
this.empregados [i] = f;
this.i++;
}
}
void mostraEmpregados (){
for (int i = 0; i < this.empregados.length; i++){
if (empregados[i] != null){
System.out.println("Funcionario na posição: "+ i);
System.out.println("Nome: " + empregados[i].getnome() + " / " +" Depto: " + empregados[i].getdepartamento() + " / " + " Salário: R$" + empregados[i].getsalario());
}
else
{
break;
}
}
}
}
Classe main
package ProjetoFuncionario;
public class ClassePrincipal {
public static void main (String args[]){
//Instanciando os Objetos:
Empresa empresa = new Empresa(4, "Yuri Tecnologia", "123456" );
Funcionario f1 = new Funcionario("Artur","Almoxarifado", 1000, "14/02/2006", "2009897761512");
Funcionario f2 = new Funcionario("Yuri", "Diretoria", 4000, "06/03/2000", "2007010111203");
Funcionario f3 = new Funcionario("Raul", "Limpeza", 750, "11/02/2009", "1234135782237");
empresa.adiciona(f1);
System.out.println(empresa.getFuncionario(0));
}
}