Usar ArrayList para guardar datos de diferente valor

publicado por: Anonymous

estoy intentando guardar diferentes tipos de datos en un arraylist, principalmente String e int para tener una base de datos de personas. Despues de buscar en formas de hacerlo me decidi crear una clase separada

class Persona 
{
    private String nombre;
    private int hora;
    private int dia;
    private int glucosa;
    public Persona(int dia, int hora, int glucosa, String nombre)
    {
        this.nombre = nombre;
        this.hora = hora;
        this.dia = dia;
        this.glucosa= glucosa;
    }

...
}    

Y la clase que usara estos datos

import java.util.ArrayList;
public class Organizador
{
    private ArrayList<Persona> personas;

    public Organizador()
    {
        ArrayList<Persona> personas = new ArrayList<Persona>();
    }

    public void nuevaPersona()
    {

        personas.add(new Persona(dia, hora, glucosa, nombre));
    }
}

Sin embargo, no me deja compilar la clase Organizador ya que no encuentra los valores de dia, hora, etc y no estoy seguro cual es el problema y que estoy colocando erroneamente, estoy perdido.

solución

Tu aplicación no puede inventarse los datos! Tienes este método:

public void nuevaPersona() {

    personas.add(new Persona(dia, hora, glucosa, nombre));
}

Donde estás pasando 4 parámetros al constructor. Pero esos parámetros no son ni variables locales, ni parámetros del método, ni atributos de la clase Organizador… no están declarados en ningún sitio.

Podrías hacer algo como:

public void nuevaPersona(int dia, int hora, int glucosa, String nombre) {

    personas.add(new Persona(dia, hora, glucosa, nombre));
}

Para poder llamar a ese método con los valores necesarios, por ejemplo:

miOrganizador.nuevaPersona(5, 14, 55, "Juan");
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *