jueves, 10 de mayo de 2018

Lista de clientes con sus pedidos usando List en Java


El uso de listas en Java es una forma útil de almacenar y manipular grandes volúmenes de datos, tal como haríamos en una matriz o arreglo, pero con una serie de ventajas que hacen de este tipo de variables las preferidas para el procesamiento de grandes cantidades de información.


Las listas son una estructura de datos sencilla de usar para almacenar una gran variedad de datos, en Java la Clase List es la que permite creas listas "Genéricas" para cualquier tipo de dato, aunque trabajarlas como tales a sido una actividad que quedó obsoleta por lo que es necesario indicar los tipos de datos con los que se trabajaran


CÓDIGO

public class Cliente {
String nombre;
int ci;
String pedido;

public Cliente(String nombre, int ci,String pedido)
{
this.nombre=nombre;
this.ci=ci;
this.pedido=pedido;
}

public String getNombre() {
return nombre;
}

public void setNombre(String nombre) {
this.nombre = nombre;
}

public int getCi() {
return ci;
}

public void setCi(int ci) {
this.ci = ci;
}

public String getPedido() {
return pedido;
}

public void setPedido(String pedido) {
this.pedido = pedido;
}


}
public class Pedido {
String combo;
String presas;
String extra;
int precio;



public Pedido(String combo, String extra, int precio, String presas)
{
this.combo=combo;
this.presas=presas;
this.extra=extra;
this.precio=precio;

}

public String getCombo() {
return combo;
}

public void setCombo(String combo) {
this.combo = combo;
}

public String getExtra() {
return extra;
}

public void setExtra(String extra) {
this.extra = extra;
}

public int getPrecio() {
return precio;
}

public void setPrecio(int precio) {
this.precio = precio;
}

public String getPresas() {
return presas;
}

public void setPresas(String presas) {
this.presas = presas;
}

}

import java.util.ArrayList;

public class Principal {
public static void main(String [] args)
{
Cliente c1 = new Cliente("Juan",1001,"combo1");

Cliente c2 = new Cliente("Pepe",1002,"combo2");

Cliente c3 = new Cliente("Esteban",1003,"combo3");

Cliente c4 = new Cliente("Luis",1004,"combo1");

Cliente c5 = new Cliente("Pedro",1005,"combo2");

Pedido p1 = new Pedido("combo1","papas",26,"2");

Pedido p2 = new Pedido("combo2","papas y refresco",32,"2");

Pedido p3 = new Pedido("combo3","papas, refresco y arroz",38,"2");

ArrayList<Pedido> listapedidos = new ArrayList<>();

ArrayList<Cliente> listaclientes = new ArrayList<>();

listapedidos.add(p1);

listapedidos.add(p2);

listapedidos.add(p3);

listaclientes.add(c1);

listaclientes.add(c2);

listaclientes.add(c3);

listaclientes.add(c4);

listaclientes.add(c5);

System.out.println("ESTA ES LA LISTA DE CLIENTES CON SUS RESPECTIVOS PEDIDOS");

for (int i=0;i<listaclientes.size();i++) {

for (int j = 0; j < listapedidos.size(); j++) {

if (listaclientes.get(i).getPedido().equals(listapedidos.get(j).getCombo())) {

System.out.println("------------------------------------------------");

System.out.println("CLIENTE #: " + listaclientes.get(i).getCi());

System.out.println("NOMBRE: " + listaclientes.get(i).getNombre());

System.out.println("PEDIDO: " + listaclientes.get(i).getPedido());

System.out.println("QUE CONTIENE : ");

System.out.println(listapedidos.get(j).getPresas() + " PRESAS");

System.out.println(listapedidos.get(j).getExtra() + " EXTRAS");

System.out.println("CON UN TOTAL DE: " + listapedidos.get(j).getPrecio() + " Bs");
}
}
}
}
}
Se crearon 3 clases:
Clase Cliente donde se introducen el nombre del cliente, un pedido yun código.
Clase Pedido donde se introduce el nombre del combo, las presas, losextras y el precio del respectivo combo.
Clase Principal donde realizamos el llenado de los datos de clientesy pedidos.
Creamos dos ArrayList una para clientes y otra para los pedidos, se procede a agregar los clientes y pedidos creados sus respectivosArrayList.
Iniciamos un ciclo for para la (listaclientes) y recorra todos los clientes de nuestra lista dentro del primer for creamos otro forpara recorrer la (listapedidos).
Ya dentro de estos dos for usamos un if para hacer una comparación entre el pedido del cliente y el combo de los pedidos, así obtendremos a nuestros dos ArrayList emparejados de acuerdo a el pedido del cliente.
Una vez echo esto procedemos a imprimir los datos que queramos mostrar en pantalla de forma ordenada.





Descarga el codigo aqui

No hay comentarios.:

Publicar un comentario