Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/03/2010, 22:42
Avatar de mss_lobaton85
mss_lobaton85
 
Fecha de Ingreso: abril-2009
Ubicación: Buenaventura
Mensajes: 41
Antigüedad: 15 años, 1 mes
Puntos: 0
De acuerdo Respuesta: Cambiar el nombre de un objeto dinamicamente

ok te mostrare; mi programa tiene tres archivos el primero se llama UsaArticulo.java es aqui donde genero un menu con 4 opciones

1. Lista Articulos \n" + "2.Buscar articulo \n"+
+ "4.Salir\n\n"
el problema se genera cuando debo hacer la compra "3.Comprar \n".

///////////////////////primer archivo UsaArticulo.java/////////////////////
Código:
package dato.edu.compra.presentacion;

import java.util.ArrayList;

import javax.swing.JOptionPane;

import dato.edu.compra.logica.Articulo;
import dato.edu.compra.logica.ControladorArticulo;

public class UsaArticulo {

	private static ControladorArticulo control = new ControladorArticulo();
	private static ControladorArticulo control2 = new ControladorArticulo();
	
	
	public static void main(String a[]) {

		control.cargarArticulos();

		String opciones = "1. Lista Articulos \n" + "2.Buscar articulo \n"+"3.Comprar \n"
				+ "4.Salir\n\n" + "Digite la opcion:";
		int opc = 0;

		do {
			opc = Integer.parseInt(JOptionPane.showInputDialog(null, opciones));

			switch (opc) {
			case 1:
				listarArticulos();
				break;
			case 2: buscarArticulo(); break;
			case 3: comprarArticulo(); break;
		
				
			}

		} while (opc != 4);
	}

	

	public static void listarArticulos() {
     ArrayList lista= control.getListaArticulos();
     String salida="";
     
     for(int i=0; i<lista.size(); i++)
     {
       Articulo art=(Articulo)lista.get(i);
       salida +="Codigo: " +art.getCodigo()
                +"Descripcion: " +art.getDescripcion()
                +"Valor:" +art.getValor() +"\n";
       
     }
     
     JOptionPane.showMessageDialog(null,salida);
	}
	
/**
 * opcion para buscar un articulo con su codigo
 * 	
 */

	public static void buscarArticulo(){
	
   String mensaje="Articulo no se encuentra en la lista";		
		
	String codigo=JOptionPane.showInputDialog(null, "Codigo");	
		
	Articulo articuloABuscar=new Articulo();
	articuloABuscar.setCodigo(codigo);
	Articulo articuloBuscado=control.buscarDatos(articuloABuscar);
	
    if(articuloBuscado!=null){
    	mensaje="Codigo:" +articuloBuscado.getCodigo()
    	        +"Descripcion:" + articuloBuscado.getDescripcion()
    	        +"Valor:" +articuloBuscado.getValor();
    }
    
    JOptionPane.showMessageDialog(null, mensaje);
	}
	
	
	
	public static void comprarArticulo(){
		
		   String mensaje="Articulo no se encuentra en la lista";		
				
			String codigo=JOptionPane.showInputDialog(null, "Codigo");	
				
			int Cant = 0;		
			Articulo articuloABuscar=new Articulo();
			articuloABuscar.setCodigo(codigo);
			Articulo articuloBuscado=control.buscarDatos(articuloABuscar);
			
			String descripcion=articuloBuscado.getDescripcion();
			float valor=articuloBuscado.getValor();
		    if(articuloBuscado!=null){
		    
		    	     
		        	        
		   
		   String opciones2 = "Cantidad";  			   
		   Cant = Integer.parseInt(JOptionPane.showInputDialog(null, opciones2));
	
		   control2.almacenaArticulos(codigo,descripcion,valor);
	    	ArrayList lista2= control2.getcompra();
		   
		   for(int i=0; i<lista2.size(); i++)
	         {
	           Articulo art2=(Articulo)lista2.get(i);
	          mensaje="Codigo: " +art2.getproducto()
	          +"Descripcion:" + art2.getDescripcion()      
	          +"VAlor:" + art2.getValor()* Cant; 
	          
	           	
	         }	  		    	
	    				     
			    
		    }
		    JOptionPane.showMessageDialog(null, mensaje);
		    
		    	    
		    }


}

///////////////////////Segundo Archivo Articulo.java/////////////////////

es donde creo las variables set y get:

Código:
package dato.edu.compra.logica;

public class Articulo {

	private String  codigo;
	private String descripcion;
	private String producto;
	private float valor;

	
	
	// aqui cree el set y get de producto
	public void setproducto(String coda)
	{
		this.producto=coda;
	}
	
	public String getproducto(){
		return this.producto;
	}
	
	
	
	
	// aqui cree el set y get de codigo
	public void setCodigo(String cod)
	{
		this.codigo=cod;
	}
	
	public String getCodigo(){
		return this.codigo;
	}
	
	// set y get de descripcion.
	
	public void setDescripcion(String desc){
		this.descripcion=desc;
	}
	
	public String getDescripcion(){
		return this.descripcion;
	}

	// set y get de valor
	
	public void setValor(float val){
     this.valor=val;		
 	}
	
	public float getValor(){
		return this.valor;
		
	}
	
}


///////////////////////Tercer Archivo ControladorArticulo.java/////////////////////

es aqui donde creo los arraylist.

Código:
package dato.edu.compra.logica;

import java.util.ArrayList;
import java.util.ResourceBundle.Control;



public class ControladorArticulo {
	
private ArrayList listaArticulos;
private ArrayList compra;


public ArrayList getListaArticulos() {
	return listaArticulos;
}

public ArrayList getcompra() {
	return compra;
}


public void setListaArticulos(ArrayList listaArticulos) {
	this.listaArticulos = listaArticulos;
}

public void setcompra(ArrayList compra) {
	this.compra = compra;
}


public void cargarArticulos(){

	listaArticulos=new ArrayList();
//creo un articulo llamado cafe
	Articulo cafe=new Articulo();
	cafe.setCodigo("0111");
	cafe.setDescripcion("cafe instantanea peq");
	cafe.setValor(4000);
	
	//creo un articulo llamado lentejas
	Articulo lent=new Articulo();
	lent.setCodigo("0112");
	lent.setDescripcion("Lenteja X libra");
	lent.setValor(2500);
	
	Articulo helado=new Articulo();
	helado.setCodigo("0113");
	helado.setDescripcion("Helado fantasia X libra");
	helado.setValor(12000);
	
	// agregando a la lista los objetos(Articulos)
	
	listaArticulos.add(cafe);
    listaArticulos.add(lent);
    listaArticulos.add(helado);
}




public void almacenaArticulos(String cod ,String Descripcion, float Valor){

	compra=new ArrayList();
//creo un articulo llamado cafe
	
	
	  
   Articulo producto=new Articulo();
   
	producto.setproducto(cod);
	producto.setDescripcion(Descripcion);
	producto.setValor(Valor);
	
	
	compra.add(producto);
		// agregando a la lista los objetos(Articulos)
     
	
    
}


public Articulo buscarDatos(Articulo producto){
	

	
//	 esta variable nos permite capturar el indice del objeto articulo
//	 es igual a  el codigo del producto.
	
	int encontre=-1;
	
	// recorremos la lista de todos los articulos.
	for(int i=0;i<listaArticulos.size(); i++){
		//sacamos un articulo.
	 	Articulo art1=(Articulo)listaArticulos.get(i);
	 	
	 /**
	  * comparamos el codigo del articulo de la lista
	  * con el codigo del producto. 
	  */
	 	 	
	 if(art1.getCodigo().compareToIgnoreCase(producto.getCodigo())==0){
             encontre=i; break;		 
	 }// fin if	
		 
	}// fin for	 
  if(encontre !=-1){
	 return (Articulo)listaArticulos.get(encontre);  
  }		 
		 
  else
	  return null;
		 
	
}
	
}
ESPERO TE SEAN DE GRAN AYUDA PARA QUE ME PUEDAS COLABORAR TE LO AGRADECERE ENORMEMENTE