Foros del Web » Programación para mayores de 30 ;) » Java »

Colleciones ArrayList

Estas en el tema de Colleciones ArrayList en el foro de Java en Foros del Web. Hola amigos, estoy estudiando fundamentos java y me han dejado un trabajo de insertar, listar,buscar, modificar, eliminar, ordenar, todo en modo consola, hasta el momento ...
  #1 (permalink)  
Antiguo 30/10/2012, 10:25
Avatar de GersPaul  
Fecha de Ingreso: octubre-2012
Ubicación: Lima, Peru
Mensajes: 2
Antigüedad: 11 años, 5 meses
Puntos: 0
Información Colleciones ArrayList

Hola amigos, estoy estudiando fundamentos java y me han dejado un trabajo de insertar, listar,buscar, modificar, eliminar, ordenar, todo en modo consola, hasta el momento voy haciendo insertar, listar y buscar.
me falta modificar eliminar y ordenar(metodo de busbujas)

aqui les dejo el codigo para que los chekeen.


Cita:
package Trabajo;

public class Persona {
// Atributos
private String IdPersona;
private String Apellidos;
private String Nombres;
protected int Edad;
private boolean Sexo;
// Métodos
public void VerPersona()
{
System.out.print("\nIdPersona:"+this.IdPersona+
"\nApellidos:"+this.Apellidos+
"\nNombres:"+this.Nombres+
"\nEdad:"+this.Edad+
"\nSexo:"+(this.Sexo ? "Masculino" : "Femenino"));
}

// Métodos Constructores
public Persona(String IdPersona, String Apellidos, String Nombres, int Edad, boolean Sexo) {
this.IdPersona = IdPersona;
this.Apellidos = Apellidos;
this.Nombres = Nombres;
this.Edad = Edad;
this.Sexo = Sexo;
}

public Persona() {
}

// Propiedades de Lectura y Escritura
public String getApellidos() {
return Apellidos;
}

public void setApellidos(String Apellidos) {
this.Apellidos = Apellidos;
}

public int getEdad() {
return Edad;
}

public void setEdad(int Edad) {
this.Edad = Edad;
}

public String getIdPersona() {
return IdPersona;
}

public void setIdPersona(String IdPersona) {
this.IdPersona = IdPersona;
}

public String getNombres() {
return Nombres;
}

public void setNombres(String Nombres) {
this.Nombres = Nombres;
}

public boolean getSexo() {
return Sexo;
}

public void setSexo(boolean Sexo) {
this.Sexo = Sexo;
}

}

Cita:
package Trabajo;
import java.util.ArrayList;
import java.util.Scanner;


public class Procesos {
// Declaraciones Globales
public static Persona ObjP;
public static ArrayList<Persona> Lista = new ArrayList<>();
public static Scanner tecla = new Scanner(System.in);
char Op;

// Método para agregar elementos a la Lista
public static void Insertar()
{ // Instanciar el Objeto
ObjP = new Persona();
// Añadir Informacion
System.out.print("Codigo Persona:");
ObjP.setIdPersona(tecla.next());
System.out.print("Apellidos:");
ObjP.setApellidos(tecla.next());
System.out.print("Nombres:");
ObjP.setNombres(tecla.next());
System.out.print("Edad:");
ObjP.setEdad(tecla.nextInt());
System.out.print("Sexo:");
ObjP.setSexo(tecla.next().charAt(0)=='M' ? true:false);
// Agregarlo a la Lista
Lista.add(ObjP);
}

// Método para listar los elementos de la Lista
public static void Listar()
{ System.out.println("=== LISTADO DE PERSONAS ===");
for(int i = 0; i < Lista.size(); i++ )
System.out.println(Lista.get(i).getIdPersona()+"\t "+
Lista.get(i).getApellidos()+"\t"+
Lista.get(i).getNombres()+"\t"+
Lista.get(i).getEdad()+"\t"+
Lista.get(i).getSexo());
}

// Método para Buscar Elementos de la lista
public static void Buscar(){
boolean estado = false;
System.out.print("Ingrese el Codigo de Persona a Buscar:");
String valor = tecla.next();
for(int i = 0; i < Lista.size() ; i++)
if(Lista.get(i).getIdPersona().equalsIgnoreCase(va lor)){
System.out.println(Lista.get(i).getApellidos()+"\t "+
Lista.get(i).getNombres()+"\t"+
Lista.get(i).getEdad()+"\t"+
Lista.get(i).getSexo());
estado = true;
break;
}
System.out.println("=== VALOR "+valor+
(estado ? " <SI> ":" <NO> ")+" ENCONTRADO");
}

// Método para modificar elementos de la lista

public static void Modificar(String actual,String nuevo)
{ boolean estado = false;
for(int i = 0; i < Lista.size(); i++ ){
if(Lista.get(i).equals(ObjP)){
estado = true;
Lista.set(i, ObjP);
}
}
System.out.println("=== DATO "+
(estado ? " <SI> ":" <NO> ")+" MODIFICADO");
}
// Método para Ordenar Elementos de la Lista

public static void Ordenar() {

}


// Método para eliminar elementos de la lista

public static void Eliminar(String valor){

}


// Método para seleccionar opcion de Menú
public static String Menu()
{
System.out.println("\n=== MENU DE OPCIONES");
System.out.println("1.- Añadir Personas");
System.out.println("2.- Listar Personas");
System.out.println("3.- Buscar Personas");
System.out.println("4.- Modificar Personas");
System.out.println("5.- Ordenar Personas");
System.out.println("6.- Eliminar Personas");
System.out.println("7.- Salir del Sistema");
System.out.print("Digite Opcion entre 1-7:");
return tecla.next();
}

// Método Principal del Programa
public static void main(String[] args) {
String Op;
do{
Op = Menu();
switch(Op){
case "1":
Insertar();
break;
case "2":
Listar();
break;
case "3":
Buscar();
break;
case "4":
System.out.print("Ingrese el Codigo de Persona a Modificar:");
ObjP.setApellidos(tecla.next());
System.out.print("Apellidos:");
ObjP.setApellidos(tecla.next());
System.out.print("Nombres:");
ObjP.setNombres(tecla.next());
System.out.print("Edad:");
ObjP.setEdad(tecla.nextInt());
System.out.print("Sexo:");
ObjP.setSexo(tecla.next().charAt(0)=='M' ? true:false);
Modificar(Op, Op);



}
}while(!Op.equals("7"));

}

}
Quiero me me digan en el metodo modificar, que es lo k estoy haciendo mal
  #2 (permalink)  
Antiguo 30/10/2012, 16:13
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Colleciones ArrayList

Para decirte qué estás haciendo mal ayudaría que dijeras en qué falla.

¿Te esta modificando siempre el ultimo elemento que has añadido?

Tienes que definir el método equals() en persona. Si no lo defines, persona.equals(persona) te dara true siempre en el ultimo elemento de la lista, ya que lo has declarado como static y el equals() por defecto devuelve true si los dos objetos son el mismo new, es decir, en el caso del ultimo new que has hecho, que es el ultimo de la lista. Posiblemente ese equals() debería comparar con el idPersona.

En este trocito
System.out.print("Ingrese el Codigo de Persona a Modificar:");
ObjP.setApellidos(tecla.next());

creo que estás metiendo el apellido donde en realidad quieres meter el idPersona.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 30/10/2012, 18:08
Avatar de GersPaul  
Fecha de Ingreso: octubre-2012
Ubicación: Lima, Peru
Mensajes: 2
Antigüedad: 11 años, 5 meses
Puntos: 0
Información Respuesta: Colleciones ArrayList

El modificar ya lo solucione era asi:


Cita:
package Trabajo;
import java.util.ArrayList;
import java.util.Scanner;


public class Procesos {
// Declaraciones Globales
public static Persona ObjP;
public static ArrayList<Persona> Lista = new ArrayList<>();
public static Scanner tecla = new Scanner(System.in);
char Op;

// Método para agregar elementos a la Lista
public static void Insertar()
{ // Instanciar el Objeto
ObjP = new Persona();
// Añadir Informacion
System.out.print("Codigo Persona:");
ObjP.setIdPersona(tecla.next());
System.out.print("Apellidos:");
ObjP.setApellidos(tecla.next());
System.out.print("Nombres:");
ObjP.setNombres(tecla.next());
System.out.print("Edad:");
ObjP.setEdad(tecla.nextInt());
System.out.print("Sexo:");
ObjP.setSexo(tecla.next().charAt(0)=='M' ? true:false);
// Agregarlo a la Lista
Lista.add(ObjP);
}

// Método para listar los elementos de la Lista
public static void Listar()
{ System.out.println("=== LISTADO DE PERSONAS ===");
for(int i = 0; i < Lista.size(); i++ )
System.out.println(Lista.get(i).getIdPersona()+"\t "+
Lista.get(i).getApellidos()+"\t"+
Lista.get(i).getNombres()+"\t"+
Lista.get(i).getEdad()+"\t"+
Lista.get(i).getSexo());
}

// Método para Buscar Elementos de la lista
public static void Buscar(){
boolean estado = false;
System.out.print("Ingrese el Codigo de Persona a Buscar:");
String valor = tecla.next();
for(int i = 0; i < Lista.size() ; i++)
if(Lista.get(i).getIdPersona().equalsIgnoreCase(va lor)){
System.out.println(Lista.get(i).getApellidos()+"\t "+
Lista.get(i).getNombres()+"\t"+
Lista.get(i).getEdad()+"\t"+
Lista.get(i).getSexo());
estado = true;
break;
}
System.out.println("=== VALOR "+valor+
(estado ? " <SI> ":" <NO> ")+" ENCONTRADO");
}

// Método para modificar elementos de la lista

public static void Modificar()
{
boolean estado = false;
for(int i = 0; i < Lista.size(); i++ ){
if(Lista.get(i).getIdPersona().equalsIgnoreCase(Ob jP.getIdPersona())){
estado = true;
Lista.set(i, ObjP);
System.out.println("=== DATO "+
(estado ? " <SI> ":" <NO> ")+" MODIFICADO");
}
}

}

// Método para eliminar elementos de la lista

public static void Eliminar()
{
boolean estado;
for(int i = 0; i < Lista.size(); i++ ){
//if(Lista.get(i).getIdPersona()){
estado = Lista.remove(ObjP);
System.out.println("=== DATO "+
(estado ? " <SI> " : " <NO> ")+"REMOVIDO");

//}

}

}
// Método para Ordenar Elementos de la Lista

public static void Ordenar()
{
}





// Método para seleccionar opcion de Menú
public static String Menu()
{
System.out.println("\n=== MENU DE OPCIONES");
System.out.println("1.- Añadir Personas");
System.out.println("2.- Listar Personas");
System.out.println("3.- Buscar Personas");
System.out.println("4.- Modificar Personas");
System.out.println("5.- Eliminar Personas");
System.out.println("6.- Ordenar Personas");
System.out.println("7.- Salir del Sistema");
System.out.print("Digite Opcion entre 1-7:");
return tecla.next();
}

// Método Principal del Programa
public static void main(String[] args) {
String Op;
do{
Op = Menu();
switch(Op){
case "1":
Insertar();
break;
case "2":
Listar();
break;
case "3":
Buscar();
break;
case "4":
ObjP = new Persona();
System.out.print("Ingrese el Codigo de Persona a Modificar:");
ObjP.setIdPersona(tecla.next());
System.out.print("Apellidos:");
ObjP.setApellidos(tecla.next());
System.out.print("Nombres:");
ObjP.setNombres(tecla.next());
System.out.print("Edad:");
ObjP.setEdad(tecla.nextInt());
System.out.print("Sexo:");
ObjP.setSexo(tecla.next().charAt(0)=='M' ? true:false);
Modificar();
break;
case "5":
System.out.println("Ingrese el Codigo de Persona a Eliminar:");
ObjP.setIdPersona(tecla.next());
Eliminar();
break;




}
}while(!Op.equals("7"));

}

}
Ahora solo me falta el eliminar y ordenar(metodo de burbujas)
puedes ayudarme a solucionar esto

Etiquetas: arraylist, programa, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:59.