Problema com passagem de parametro

6 respostas
henry.everton

Pessoal este é um exercicio de array da apostila da caelum que estou querendo executar, o que ele pedi é o seguinte:

** Crie um array de um tipo Funcionario que tem seus parametros. ok
** Crie um metodo adicionaFuncionario nesta classe. ok
** Passe o objeto Funcionario para o metodo adicionaFuncionrio e o imprima.

Eu fiz desta forma porém nao funciona, ele imprime acho que é o endereço de memória mas quero imprimir os parametros deste objeto, como posso fazer isso:

public class Empresa{
	
	/*################################################################################
	# Variaveis                                                                      #
	################################################################################*/
	
	private String nome;
	private String cnpj;
	Funcionario[] funcionario = new Funcionario[3];
	
	/*################################################################################
	# Metodo adicionaFuncionario                                                     #
	#   Metodo que adiciona dados ao array de funcionario                            #
	################################################################################*/
	
	public void adicionaFuncionario(Funcionario f){
		for(int cont=0; cont<3; cont++){
			funcionario[cont] = f;
			System.out.println(funcionario[cont]);
			}
		
		}
		
		}

ja agradeço desde ja!!!

6 Respostas

diego2005

Implemente o método toString na classe Funcionário. Seria + - assim:

public class Funcionario {
    private String nome;
    private int idade;

    public String toString() {
        return "Nome: " + nome + ", idade: " + idade;
    }
}

T+

T
System.out.println(funcionario[cont]);

Isso só funciona do jeito que você quer se a classe Funcionario tiver definido o método “public String toString()”.
Se você não quiser definir esse método, você precisa então mostrar os campos desse funcionário, um por um (não tenho essa apostila aqui comigo, portanto não sei quais são os campos, e estou só dando um exemplo.)

System.out.println("Nome=" + funcionario[cont].getNome() + ", Função = " + funcionario[cont].getFuncao() + ....);
analyser

Inserido certo ele está, mais vc esta imprimindo o endereço mesmo, procure por toString() no google.

Falow

henry.everton

ai acho q entra uma outra duvida minha…

quando eu chamo o metodo para imprimir… ele deve buscar os parametros que eu coloquei. Estes parametros estão dentro da classe Empresa ou da Classe Funcionário?

Digo… quando eu adiciono valores a uma instancia ele esta inserindo o valor na classe Funcionário?

analyser

Ele esta inserindo no objeto que vc criou, se vc tem uma classe funcionario com os dados dele e setou os dados no objeto funcionario, vc inseriu na classe funcionario, agora se tem o mesmo caso na classe empresa, vc inseriu na empresa

Entendeu, acho melhor vc pegar as apostilas de conceitos básicos aqui no GUJ ou no site da CAELUM

Abraços

T

ué, vc está adicionando o valor no array que está na classe empresa…

Criado 13 de julho de 2007
Ultima resposta 13 de jul. de 2007
Respostas 6
Participantes 5