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

Listas Java

Estas en el tema de Listas Java en el foro de Java en Foros del Web. Hola necesito ayuda para realziar un programa. Debo hacer lo siguiente: realizar un programa para simular la compra de productos(software y hardware) utilizando un carrito ...
  #1 (permalink)  
Antiguo 20/02/2006, 23:56
Avatar de Estef  
Fecha de Ingreso: febrero-2006
Mensajes: 12
Antigüedad: 18 años, 2 meses
Puntos: 0
Listas Java

Hola necesito ayuda para realziar un programa. Debo hacer lo siguiente:

realizar un programa para simular la compra de productos(software y hardware) utilizando un carrito de compras electronico. La aplicacion utiliza las sigueinte clases: Product(Abstract), SWProduct, HWProduct, ShoppingCart y ShoppingCartApplication. Los datos de los productos son: Nombre, precio y cantidad del producto. Para software se registre el numero de CDS y para hardware se registra el peso de las cajas. La clase ShoppingCart tiene una coleccion de productos que se debe hacer con una lista. Debe tener la posibilidad de anadir productos, calcular el valor total de los productos e imprimir la lista. Esta clase es mi problema. Yo ya hice la clase abstracta, tambien la clase software y hardware. La clase shoppingCart no se como hacer. Hice una clase NODo y otra lista pero no se como poner todo en la clase ShoppingCart. Realmente ese es mi problema,no se como hacer esa clase cuando uso una lista por favor ayudenme en eso.
  #2 (permalink)  
Antiguo 21/02/2006, 01:48
 
Fecha de Ingreso: junio-2005
Mensajes: 286
Antigüedad: 18 años, 10 meses
Puntos: 2
java.util.LinkedList
  #3 (permalink)  
Antiguo 21/02/2006, 10:59
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
shoppingCart es una lista? pudiera ser un ArrayList, un Vector o algo asi...........
  #4 (permalink)  
Antiguo 21/02/2006, 22:04
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
Cita:
Iniciado por Estef
Hola gracias por responderme. No es un arreglo. Debe ser una lista de los productos que tenia. Pero realmente eso es lo que no se como hacer. Yo hice la clase lista y la clase Nodo fuera de ShoppingCart y en esa clase llame a la lista. Creo que se debe poner esas clases dentro de la clase ShoppingCart pero cuando hago eso, no se como probarla en la clase main. Eso necesito de ayuda por fa si sabes dime si?

muchas gracias
mmmmmmmm

pues pues unicamente instancias tu clase, imagino que tu lista debe tener algun metodo para agregar un elemento...... algo asi

Código:
public static void main(String cvr[]){
   ShoppingCart sc = new ShoppingCart();
   sc.addSomething("algo");
}
no se, tendria que ver como tienes estructurado todo, pero la idea ahi esta
  #5 (permalink)  
Antiguo 23/02/2006, 19:27
Avatar de Estef  
Fecha de Ingreso: febrero-2006
Mensajes: 12
Antigüedad: 18 años, 2 meses
Puntos: 0
ya me salio el programa!!!

Hola, al fin ya pude encontrar el problema que tenia y ya pude resolver el programa. A continuacion, les adjunto el programa completo para que lo vea cualquier persona que en algun momento deba hacer algo asi y tenga problemas. Espero les ayude ahi les va:
Primero la clase Product
package productos;

public abstract class Product {

protected double precio;
protected String nombre;
protected int cantidad;

public Product(){
precio=0.0;
nombre=new String();
cantidad=0;
}

public Product(double p, String n, int c){
precio=p;
nombre=new String(n);
cantidad=c;
}

public void setPrecio(double pp){
precio=pp;
}
public void setNombre(String nn){
nombre=new String(nn);
}
public void setCantidad(int cc){
cantidad=cc;
}

public double getPrecio(){
return precio;
}
public String getNombre(){
return nombre;
}
public int getCantidad(){
return cantidad;
}
public abstract void imprimir();
}

ahora la clase de los productos software:

package productos;

public class SWProduct extends Product{
private int numeroCd;

public SWProduct(){
super();
numeroCd=0;
}

public SWProduct(double p, String n, int c, int nn){
super(p,n,c);
numeroCd=nn;
}

public void setNumero(int g){
numeroCd=g;
}

public int getNumero(){
return numeroCd;
}

public void imprimir(){
System.out.println("Producto de Software: "+super.getNombre()+" "
+super.getPrecio()+" "+super.getCantidad()+" "
+getNumero());
}

}

ahora lo de los productos hardware:

package productos;

public class HWProduct extends Product {


private double peso;

public HWProduct(){
super();
peso=0.0;
}

public HWProduct(double p, String n, int c, double pp){
super(p,n,c);
peso=pp;
}

public void setPeso(double pp){
peso=pp;
}

public double getPeso(){
return peso;
}

public void imprimir(){
System.out.println("Producto Hardware: "+super.getNombre()+" "
+super.getPrecio()+" "+super.getCantidad()+" "
+getPeso());
}
}

ya les mando las otras clases en otro mensaje
  #6 (permalink)  
Antiguo 23/02/2006, 19:29
Avatar de Estef  
Fecha de Ingreso: febrero-2006
Mensajes: 12
Antigüedad: 18 años, 2 meses
Puntos: 0
las clases que faltan

ahi va ahora la clase del ShoppingCart que era mi problema:

package productos;

public class ShoppingCart {

//////////////////////////////////////
static class Nodo {

public Product dato;
public Nodo siguiente;
public Nodo(){
dato=null;
siguiente=null;
}
public Nodo(Product n){
dato=n;
siguiente=null;
}

public void imprimir(){
dato.imprimir();
}


}
///////////////////////////////////////

/////////////////////////////////////
static class Lista {

public Nodo inicio;

public Lista(){
inicio=null;
}

public void insertarAlInicio(Product d){
Nodo nuevo=new Nodo(d);
nuevo.siguiente=inicio;
inicio=nuevo;
}

public void insertarOrdenado(Product f){
Nodo aux=inicio;
Nodo anterior=null;
Nodo nuevo=new Nodo(f);

while(aux!=null&&aux.dato==nuevo.dato){
anterior=aux;
aux=aux.siguiente;
}

if(anterior==null){
nuevo.siguiente=inicio;
inicio=nuevo;
}

else{
anterior.siguiente=nuevo;
nuevo.siguiente=aux;
}
}

public void imprimir(){
Nodo aux=inicio;
while(aux!=null){
aux.imprimir();
aux=aux.siguiente;
}
}

public boolean buscar(Product d){
Nodo aux;
aux=inicio;

while(aux!=null){
if(aux.dato==d){
aux.imprimir();
return true;
}
aux=aux.siguiente;
}
return false;
}

public Product eliminarInicio(){
Nodo temp;
temp=inicio;
inicio=inicio.siguiente;
return temp.dato;
}

public Product eliminar(Product e){
Nodo aux=inicio;
Nodo anterior=null;
while(aux!=null&&aux.dato==e){
anterior=aux;
aux=aux.siguiente;
}
if(anterior==null){
inicio=inicio.siguiente;
}

else{
anterior.siguiente=aux.siguiente;
}
return aux.dato;
}
}


}

y la ultima clase para realizar la aplicacion:

package productos;

public class Aplicacion {

/**
* @param args
*/
public static void main(String[] args) {

Product a=new HWProduct(1.25, "A",2,2);
Product b=new HWProduct(2.25, "S",5,7);
Product c=new SWProduct(3.25, "T",7,6);
Product d=new HWProduct(4.25, "U",4,1);
Product e=new SWProduct(5.25, "O",7,9);
ShoppingCart.Lista nuevo=new ShoppingCart.Lista();
nuevo.insertarAlInicio(a);
nuevo.insertarOrdenado(b);
nuevo.insertarOrdenado(c);
nuevo.insertarOrdenado(d);
nuevo.insertarOrdenado(e);
nuevo.imprimir();



}

}

Espero que les sirva si en algun momento deben hacer lo mismo.

byi
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 05:28.