Java - ArrayList de Objetos

 
Vista:
sin imagen de perfil

ArrayList de Objetos

Publicado por Iván (3 intervenciones) el 05/07/2022 22:27:50
hola, soy nuevo en este foro y soy estudiante de programacion y tengo algunas consultas,
tengo 3 clases Cliente, Banco y main donde tengo un menu de ingreso de datos de los clientes,

1.- quiero agregar 3 clientes permanentes en el metodo main creando el objeto cli1, cli2 y cli3

Cliente cli = new Cliente();
cli.setRut(rut);
cli.setNombre(nombre);
cli.setApellido(apellido);
cli.setEdad(edad);
cli.setSueldo(sueldo);
listaClientes.add(cli);

pero quiero que al agregar cliente 4, 5 sucesivamnte desde el menu sin que se borren los datos del cliente 1, 2 y 3 y despues listarCliente me aparezcan los 3 primeros y los demas...

2.- no me resulta el eliminar clientes y no se porque, este es mi coidigo

public String eliminarCliente(int rut){
String msj ="No se encontro Cliente";
for(Cliente cli : listaClientes) {
if(cli.getRut() == rut) {
listaClientes.remove(cli);
msj ="Cliente eliminado";
}
}
return msj;
}
3.- uso el netbeans 8.2 y quizas deberia actualizar la version para que funcione el codigo?

saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

ArrayList de Objetos

Publicado por Billy Joel (876 intervenciones) el 06/07/2022 04:37:29
Sospecho que la propiedad rut de la clase Cliente es de tipo String.
Si es así entonces debes hacer la comparación del String así:
1
2
3
4
5
6
7
8
9
10
public String eliminarCliente(int rut) {
    String msj = "No se encontro Cliente";
    for (Cliente cli : listaClientes) {
        if (cli.getRut().equals(rut)) {
            listaClientes.remove(cli);
            msj = "Cliente eliminado";
        }
    }
    return msj;
}

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

ArrayList de Objetos

Publicado por Iván (3 intervenciones) el 08/07/2022 07:17:54
hola billy, agradezco tu rapida respuesta a una de mis consultas, bueno lo resulta los camibios, aunque creo que no funciona el for each porque quizas se limpian las variables al ingresar al menu de ingreso de datos....por eso me gustaria tener datos permanentes en el arraylist que a momento de ejecutar el menu no se me borren los datos..saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

ArrayList de Objetos

Publicado por Billy Joel (876 intervenciones) el 09/07/2022 04:55:39
Supongo que listaClientes es una colección de tipo ArrayList de objetos Cliente.
Algo como esto:
1
ArrayList<Cliente> listaClientes

Abría que ver que es lo que estás haciendo al agregar objetos Cliente desde el menú (lo que mencionas). Una colección no borra objetos así porque si. Tal vez desde el menú que mencionas estás dandole al new ArrayList.

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

ArrayList de Objetos

Publicado por Billy Joel (876 intervenciones) el 09/07/2022 05:08:48
Te recomiendo crear un constructor para tu clase Cliente, para que la creación de objetos de ésta clase sea más rápido.
Algo como esto:
1
2
3
4
5
6
7
public Cliente(String rut, String nombre, String apellido, int edad, double sueldo) {
    this.rut = rut;
    this.nombre = nombre;
    this.apellido = apellido;
    this.edad = edad;
    this.sueldo = sueldo;
}

Entonces cuando quieras crear un nuevo objeto de la clase Cliente sería algo como esto:
1
Cliente c = new Cliente(rut, nombre, apellido, edad, sueldo);

Y si estás usando un List o ArrayList (en esencia son lo mismo y se usan igual pero yo prefiero List XD) puedes agregar el objeto así:
1
2
List<Cliente> clientes = new ArrayList();
clientes.add(new Cliente(rut, nombre, apellido, edad, sueldo));

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar