Ir para conteúdo
Fórum Script Brasil
  • 0

EXERCICIO JAVA ARRAYLIST


Teneo

Pergunta

Prezados, bom dia.

 

Por gentileza, poderiam me ajudar a solucionar o exercício abaixo:

Crie um objeto chamado Cliente com os atributos: id, nome, idade, telefone. Faça um programa para solicitar os dados de vários clientes e armazenar em um ArrayList até que se digite um número de ID negativo. Em seguida exiba os dados de todos os clientes via SystemOut, formatando cada objeto separado por linhas.

Main:

import java.util.ArrayList;
import javax.swing.JOptionPane;

public class Array {    
    
    static Cliente cliente = new Cliente();        
    static ArrayList<Cliente> lista = new ArrayList<Cliente>();
        
    public static void main(String args[]){    
        
        incluir();
        imprimir();
    }
    
    public static void incluir(){    
        
        do{
            cliente.setId(Integer.parseInt(JOptionPane.showInputDialog("Digite id: ")));
            cliente.setNome(JOptionPane.showInputDialog("Digite nome: "));
            cliente.setIdade(Integer.parseInt(JOptionPane.showInputDialog("Digite idade: ")));
            cliente.setTelefone(JOptionPane.showInputDialog("Digite telefone: "));
            lista.add(cliente);
        }        
        
        while(cliente.getId() > 0);    
    }
    
    public static void imprimir(){
        for(int i = 0; i < lista.size()-1; i++){
            System.out.println(lista.get(i).getId() + "\n" + lista.get(i).getNome() + "\n" + lista.get(i).getIdade() + "\n" + lista.get(i).getTelefone());
            System.out.println();
        }
    }
}

 

Classe Cliente:

public class Cliente {
    
    private int id = 0;
    private String nome = "";
    private int idade = 0;
    private String telefone = "";    
    
    public Cliente(){
        setId(id);
        setNome(nome);
        setIdade(idade);
        setTelefone(telefone);
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int getIdade() {
        return idade;
    }

    public void setIdade(int idade) {
        this.idade = idade;
    }

    public String getTelefone() {
        return telefone;
    }

    public void setTelefone(String telefone) {
        this.telefone = telefone;
    }
}

Não estou conseguindo desenvolver a logica.

Podem me ajudar?

Desde já agradeço.

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá a todos, segue abaixo um exemplo funcional do exercício.

Classe Cliente.

package exercicio;

public class Cliente {
	private int id;
	private String nome;
	private int idade;
	private String telefone;
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public int getIdade() {
		return idade;
	}
	public void setIdade(int idade) {
		this.idade = idade;
	}
	public String getTelefone() {
		return telefone;
	}
	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}
	
	public void imprime(){
		System.out.println(String.format("ID: %d, NOME: %s, IDADE: %d, TELEFONE: %s", this.getId(), this.getNome(), this.getIdade(), this.getTelefone() ));
	}

	public Cliente(int id, String nome, int idade, String telefone){
		this.id=id;
		this.nome=nome;
		this.idade=idade;
		this.telefone=telefone;
	}
	

}
package exercicio;

import java.util.ArrayList;
import java.util.Scanner;

public class Main {

	public static void main(String[] args){
		System.out.println("*******************Cadastro de cliente************************");
		System.out.println("*Para efetuar o cadastro preencha as informações:");
		System.out.println("*ID: número inteiro positivo maior que 0, caso seja negativo encerra o aplicativo.");
		System.out.println("*Nome: String");
		System.out.println("*Idade: Inteiro");
		System.out.println("*Telefone: String ");
		System.out.println("**************************************************************");
		System.out.println();
		System.out.println();
		
		ArrayList<Cliente> cadastroCliente=new ArrayList<Cliente>();
		
		Scanner entrada=new Scanner(System.in);
		int id, idade;
		String nome, telefone;
		
		while(true){
			System.out.print("Informe o ID co cliente: ");
			id=entrada.nextInt();
			//verifica se o id é negativo.
			if(id<0){
				break; //para o laço.
			}
			System.out.println("Informe o Nome do cliente: ");
			nome=entrada.next();
			
			System.out.println("Informe a idade do cliente: ");
			idade=entrada.nextInt();
			
			System.out.println("Informe o telefone do cliente: ");
			telefone=entrada.next();
			
			cadastroCliente.add(new Cliente(id, nome, idade, telefone));
		}
		
		//imprimindo todos os clientes cadastrados.
		System.out.println("****************Relatório de clientes**********************");
		System.out.println( String.format("*Número total de clientes: %d", cadastroCliente.size()));
		System.out.println("****************Relatório de clientes**********************");
		for(int i=0; i<cadastroCliente.size(); i++){
			cadastroCliente.get(i).imprime();
		}
	}
}

 

Até mais.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...