I can’t register a Java Arraylist

Asked

Viewed 497 times

1

I’m making a Java (console) application. It’s time to register a arraylist She goes, but when it’s time to show, she shows me trash.

What do I do? Follow the code:

Main class:

//classe main

import java.util.Scanner;


 public class ProvaJava {

    public static void main(String[] args) {
    // TODO code application logic here
        int op;
        Scanner ler = new Scanner(System.in);
        Loja Cliente_cad = new Loja();
        System.out.println("Digite 1 para cadastrar"); 
        op=ler.nextInt();
        /*System.out.println("Digite 2 para mostrar"); 
       op=ler.nextInt();*/
       if(op==1){
           Cliente_cad.Cadastrar_Cliente();
           Cliente_cad.mostraCliente();
       }
   }
}

Customer class:

import java.util.Date;

public class Cliente {

     public int Cod_Clie;
     public String Nome_Clie;
     public String CPF_Clie;
     public  String Dia_Nascimento_Clie;
     public  String Mes_Nascimento_Clie;
     public  String Ano_Nascimento_Clie;
     public  String Senha_Clie;
     public  String Telefone_Clie;

//Metodos

    public String getNome_Clie() {
        return Nome_Clie;
    }
    public void setNome_Clie(String Nome_Clie) {    
        this.Nome_Clie = Nome_Clie;
    }

    public int getCod_Clie() {
        return Cod_Clie;
    }

    public void setCod_Clie(int Cod_Clie) {
        this.Cod_Clie = Cod_Clie;
    }

    public String getCPF_Clie() {
        return CPF_Clie;
    }

    public void setCPF_Clie(String CPF_Clie) {
        this.CPF_Clie = CPF_Clie;
    }

    public String getDia_Nascimento_Clie() {
        return Dia_Nascimento_Clie;
    }

    public void setDia_Nascimento_Clie(String Dia_Nascimento_Clie) {
        this.Dia_Nascimento_Clie = Dia_Nascimento_Clie;
    }

    public String getMes_Nascimento_Clie() {
        return Mes_Nascimento_Clie;
    }

    public void setMes_Nascimento_Clie(String Mes_Nascimento_Clie) {
        this.Mes_Nascimento_Clie = Mes_Nascimento_Clie;
    }

    public String getAno_Nascimento_Clie() {
        return Ano_Nascimento_Clie;
    }

    public void setAno_Nascimento_Clie(String Ano_Nascimento_Clie) {
        this.Ano_Nascimento_Clie = Ano_Nascimento_Clie;
    }

    public String getSenha_Clie() {
        return Senha_Clie;
    }

    public void setSenha_Clie(String Senha_Clie) {
        this.Senha_Clie = Senha_Clie;
    }

    public String getTelefone_Clie() {
        return Telefone_Clie;
    }

    public void setTelefone_Clie(String Telefone_Clie) {
        this.Telefone_Clie = Telefone_Clie;
    }

}

Shop class:

import java.util.ArrayList;
import java.util.Scanner;
/**
 *
 * @author Mariane
 */
public class Loja {
 ArrayList<Cliente> clientes = new ArrayList();


    // variaveis
    protected int codi=0;
    protected String nome;
    protected String cpf;
    protected String Dia_Nascimento_Clie;
    protected String Mes_Nascimento_Clie;
    protected String Ano_Nascimento_Clie;
    protected String Senha_Clie;
    protected String Telefone_Clie;


  //metodos


   public void Cadastrar_Cliente(){
        Scanner ler = new Scanner(System.in); 
        Cliente Cliente_cad = new Cliente();
        codi=codi + 1;
        Cliente_cad.setCod_Clie(codi);
        System.out.println("Digite o nome do Cliente");
        nome=ler.nextLine();
        Cliente_cad.setNome_Clie(nome);
        System.out.println("Digite o CPF do Cliente");
        cpf=ler.nextLine();
        Cliente_cad.setCPF_Clie(cpf);
        System.out.println("Digite o dia de Nascimento do Cliente");
        Dia_Nascimento_Clie=ler.nextLine();
        Cliente_cad.setDia_Nascimento_Clie(Dia_Nascimento_Clie);
        System.out.println("Digite o mes de Nascimento do Cliente");
        Mes_Nascimento_Clie=ler.nextLine();
        Cliente_cad.setMes_Nascimento_Clie(Mes_Nascimento_Clie);
        System.out.println("Digite o ano de Nascimento do Cliente"); 
        Ano_Nascimento_Clie=ler.nextLine();
        Cliente_cad.setAno_Nascimento_Clie(Ano_Nascimento_Clie);
        System.out.println("Digite a senha do Cliente");
        Senha_Clie=ler.nextLine();
        Cliente_cad.setSenha_Clie(Senha_Clie);
        System.out.println("Digite o telefone do Cliente");  
        Telefone_Clie=ler.nextLine();
        Cliente_cad.setTelefone_Clie(Telefone_Clie);
        clientes.add(Cliente_cad);
    }

    public void mostraCliente(){
       System.out.println("Teste");
       System.out.println("Numero de clientes: " +clientes.size() );
       for(int i=0;i<clientes.size();i++){
       System.out.println("\nCodigo do Cliente:" + clientes.get(i));
       System.out.println("\nNome:" + clientes.get(i));  
       System.out.println("\nCPF:" + clientes.get(i)); 
       System.out.println("\nDia de Nascimento:" + clientes.get(i));  
       System.out.println("\nMes de Nascimento:" + clientes.get(i)); 
       System.out.println("\nAno de Nascimento:" + clientes.get(i));
       System.out.println("\nSenha:" + clientes.get(i));
       System.out.println("\nTelefone:" + clientes.get(i));
     }
   }
}
  • would like to add an Addendum on Arraylist: here. I believe you have context.

1 answer

4


I believe you are not accessing the attribute you want to display. For example:

   System.out.println("\nCodigo do Cliente:" + clientes.get(i));

You are only accessing the client object, on the Dice i, but instead, to display the customer’s name, you should call the method getName, or in your case getNome_Clie.

   System.out.println("\nCodigo do Cliente:" + clientes.get(i).getNome_Clie());

The same problem occurs on the other lines.

  • Our simple thing... thank you very much! It worked out here, vlwwwwww :D

Browser other questions tagged

You are not signed in. Login or sign up in order to post.