Popular atributos de um array usando ForEach
24/11/2018
0
estou estudando o uso do Foreach, e queria saber se tem como atraves do foreach eu ir instanciando as posicoes do meu array e recebendo valores pros seus atributos. Por exemplo eu tenho um classe Cliente, e na minha classe principal eu declaro um array do tipo Cliente, e dentro do foreach eu pego informacoes usando o Scanner, e a partir das informacoes digitadas eu queria ja ir instanciando as posicoes desse array com essas info.
Classe Cliente
Classe Principal
Classe Cliente
public class Cliente { private String cpf; private String nome; public Cliente(String cpf, String nome) { this.cpf = cpf; this.nome = nome; } public String getCpf() { return this.cpf; } public String getNome() { return this.nome; } public void exibeDados(Cliente cliente) { System.out.println("Nome: "+getNome()); System.out.println("Cpf: "+getCpf()); } }
Classe Principal
import java.util.Scanner; public class CaixaEletronicoMain { public static void main(String[] args) { Cliente [] clientes = new Cliente[3]; Scanner scan = new Scanner(System.in); for(Cliente cliente : clientes) { System.out.println("Digite um nome: "); String nome = scan.nextLine(); System.out.println("Digite um cpf: "); String cpf = scan.nextLine(); // } } }
Wendel Rios
Curtir tópico
+ 0
Responder
Posts
04/04/2019
Victor Godoi
Boa Tarde...
Vc pode usar assim não e necessário usar o index pois vc pode atualizar diretamento o objeto da lista desta forma.
for(Cliente cliente : clientes) {
System.out.println("Digite um nome: ");
cliente.nome = scan.nextLine();
System.out.println("Digite um cpf: ");
cliente.cpf = scan.nextLine();
}
Mas se vc ainda quiser o index vc pode usar o indexOf para localizar a posição do objeto dentro do array desta forma.
int index = clientes.indexOf(objeto);
se o objeto estiver na lista ele vai retronar a posicão do mesmo ou se nao tiver no array ele vai retornar -1;
se preferir pode usar um for comum
for(int i=0: i < clientes.size() : i++){
}
Vc pode usar assim não e necessário usar o index pois vc pode atualizar diretamento o objeto da lista desta forma.
for(Cliente cliente : clientes) {
System.out.println("Digite um nome: ");
cliente.nome = scan.nextLine();
System.out.println("Digite um cpf: ");
cliente.cpf = scan.nextLine();
}
Mas se vc ainda quiser o index vc pode usar o indexOf para localizar a posição do objeto dentro do array desta forma.
int index = clientes.indexOf(objeto);
se o objeto estiver na lista ele vai retronar a posicão do mesmo ou se nao tiver no array ele vai retornar -1;
se preferir pode usar um for comum
for(int i=0: i < clientes.size() : i++){
}
Responder
Clique aqui para fazer login e interagir na Comunidade :)