Quantcast
Channel: Programação - GUJ
Viewing all articles
Browse latest Browse all 33093

Caelum FJ-11 - Array com Foreach

$
0
0

@Rafael_Canalli escreveu:

Ola sou novo no fórum e estou com uma duvida sobre um exercício da apostila FJ-11 com o uso do Foreach!
gostaria de saber como mostrar os atributos dos Funcionários no metodo mostraEmpregados(); criados no array
usando o Foeach e se é possível pois para mim ele aparece apenas a 1 referencia ao objeto do 1 indice,
mas criei 3 referencias dos 5 índices entao as seria para aparecer os atributos das 3 primeiras referencias
f1,f2,f3 e as outras 2 iriam mostrar o endereço de memoria no caso por não utilizá-las
da uma ajuda ai ,código abaixo:

public class Empresa {
String cnpj;
Funcionario[] empregados =new Funcionario[5];

void adiciona(Funcionario f){
for(int i =0;i< empregados.length; i++){
if(empregados[i] == null){
this.empregados[i] = f;
break;
}
}
}

void mostraEmpregados(){
for(Funcionario item : empregados){
System.out.println("nome: "+item.nome+" Salario de: "+item.salario);
}
}
}

public class Funcionario {
String nome;
double salario;
}

public class Principal {

public static void main(String[] args) {
	Empresa empresa = new Empresa();
  
	 Funcionario f1 =new Funcionario();
	 f1.nome="Rafael";     
	 f1.salario= 5500;
	 Funcionario f2 =new Funcionario();
	 f2.nome="Rodrigo";    
	 f2.salario= 4600;
	 Funcionario f3 =new Funcionario();
	 f3.nome="Luana";
	 f3.salario=4100;
	 
	 empresa.adiciona(f1);
	 empresa.adiciona(f2);
	 empresa.adiciona(f3);
	
	 empresa.mostraEmpregados();

}
}

o erro que aparece é o seguinte:
nome: Gustavo Salario de: 4100.0
Exception in thread "main" java.lang.NullPointerException
at empresa.Empresa.mostraEmpregados(Empresa.java:18)
at empresa.Principal.main(Principal.java:22)

** sei que de alguma forma teria de usar o this. para ter a referência ao funcionário do indice
mas n permite usar o this.item.nome por exemplo rs da uma forca ai 0/

Mensagens: 8

Participantes: 2

Ler tópico completo


Viewing all articles
Browse latest Browse all 33093


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>