Arrays

3 respostas
R
Criei uma classe funcionario com nome e sobrenome... Criei uma classe empresa que tem só o nome da empresa e um array de funcionario para adicionar funcionarios na empresa.
public class Funcionario {
	private String nome;
	private String sobrenome;
	
	public Funcionario(String nome,String sobrenome){
		this.nome = nome;
		this.sobrenome = sobrenome;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getSobrenome() {
		return sobrenome;
	}
	public void setSobrenome(String sobrenome) {
		this.sobrenome = sobrenome;
	}
	
	
	
}
public class Empresa {
	Funcionario f1 =  new Funcionario("Robson","Noguier");
	
	Funcionario[] Afuncionario = new Funcionario[3];
	
	
	public void adiciona(Funcionario f){
		for(int i = 0 ; i<3;i++){
			if (Afuncionario[i] == null){
			this.Afuncionario[i] = f;
			
			
		}else System.out.println("Não está vazio");
		}

		
			
			
		}
	
	public void exibir(){
		for(int i = 0 ; i<3;i++){
			System.out.println(Afuncionario);
		}
	}
	}
public class MAin {
public static void main(String[] args) {
	Empresa e = new Empresa();
	Funcionario f1 =  new Funcionario("Robson","Noguier");
	e.adiciona(f1);
	e.exibir();
	
	}
}

Só que o resultado que aparece é esse:

[LFuncionario;@addbf1
[LFuncionario;@addbf1
[LFuncionario;@addbf1

3 Respostas

nel

Oi!

Leia sobre os padrões Java Beans, começando por não dar nome a objetos iniciando com letra maíuscula.
Altere a linha:

System.out.println(Afuncionario);

Para:

System.out.println(Afuncionario[i].getNome());

Abraços.

R
Qaundo eu faço isso, 1 funcionário recebe três nome e sobre nomes
public class Empresa {

	
	Funcionario[] Afuncionario = new Funcionario[3];
	
	
	public void adiciona(Funcionario f){
		for(int i = 0 ; i<3;i++){
			if (Afuncionario[i] == null){
			this.Afuncionario[i] = f;
			
			
		}else System.out.println("Não está vazio");
		}

		
			
			
		}
	
	public void exibir(){
		for(int i = 0 ; i<3;i++){
			System.out.print(Afuncionario[i].getNome()+" ");
			System.out.println(Afuncionario[i].getSobrenome());
		}
	}
	}
public class MAin {
public static void main(String[] args) {
	Empresa e = new Empresa();
	Funcionario f1 =  new Funcionario("Robson","Nogueira");
	e.adiciona(f1);
	e.exibir();
	}
}
O Resultado é esse: Robson Nogueira Robson Nogueira Robson Nogueira

No caso eu queria que guardasse Robson NOgueira no primeiro indice do array
e ficassem dois espaços livres neste arrya para inserir mais nomes e sobre nomes

danieldomingues86

Olá

Se voce quer fazer exatamente isso que está falando repense no uso desse for, pois com ele voce não vai conseguir fazer o que quer.

Mais uma dica… corrija a identação do seu codigo, vai te ajudar e muito.

Abraços
Daniel.

Criado 4 de junho de 2011
Ultima resposta 4 de jun. de 2011
Respostas 3
Participantes 3