Fórum Popular atributos de um array usando ForEach #598788
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)