elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Ayuda con java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con java  (Leído 10,345 veces)
ArhennJosey

Desconectado Desconectado

Mensajes: 35


Ver Perfil
Ayuda con java
« en: 15 Abril 2013, 00:26 am »

Bunas tardes, necesito hacer un programa en java, con jdeveloper, estas son las especificaciones,
1. El usuario escribe el nombre del proveedor.
2. Selecciona el producto
3. Escribe la cantidad del producto.
4. Escribe el precio unitario.
5. Subtotal = Cantidad * PrecioUnitario
6. Se hace un descuento si el total de productos esta entre 5-10 del 2%, 11-15 del 4,5% y de   16 en adelante del 6%, todo sobre el subtotal.
El IVA equivale al 16% del subtotal - Decuento.
TOTAL = SUBTOTAL - DESCUENTOS + IVA.
Nota: Solo está activo el botón adicionar

he ehcho este código pero no he avanzado mas, hasta ahora llevo 2 meses aprendiendo ava y me esta dando duro:
CODIGO COMPRAS

package supercompras.modelo;

public class Compras {
    /**
     * @attribute
     */
    private int Cantidad;

    /**
     * @attribute
     */
    private double Subtotal;

    /**
     * @attribute
     */
    private double DescuentoPor;

    /**
     * @attribute
     */
    private double DescuentoDin;

    /**
     * @attribute
     */
    final public static double Iva=16/100;

    /**
     * @attribute
     */
    private int Total;
   
   
   

    public Compras() {
        Cantidad = 0;
       
       
       
    }

    public int getCantidad() {
        return Cantidad;
    }

    public double getDescuentoPor() {
        return DescuentoPor;
    }

    public double getDescuentoDin() {
        return DescuentoDin;
    }

    public double getIva() {
        return Iva;
    }

    public double getSubtotal() {
        return Subtotal;
    }

    public int getTotal() {
        return Total;
    }

    public void calcularDescuentoPor() {
       
    }

    public void calcularDescuentoDin(double Iva) {
        DescuentoPor = (double)(Total*Compras.Iva);
    }

    public void calcularIva() {
    }

    public void calcularSubtotal() {
        Subtotal = (int)(Cantidad*Producto.PrecioProd);
    }

    public void calcularTotal() {
        Total = (int)(Subtotal+DescuentoDin+Iva);
    }
   
   
}



CODIGO PRODUCTO
package supercompras.modelo;

public class Producto {
    /**
     * @attribute
     */
    private int CodigoProd;

    /**
     * @attribute
     */
    private String DescripcionProd;

    /**
     * @attribute
     */
    private int PrecioProd;

    /**
     * @attribute
     */
    private int StockProd;

    public Producto() {
        CodigoProd = 0;
        PrecioProd = 0;
        StockProd = 0;
    }

    public int getStockProd() {
        return StockProd;   
    }

    public int getCodigoProd() {
        return CodigoProd;
    }

    public String getDescripcionProd() {
        return DescripcionProd;
    }

    public int getPrecioProd() {
        return PrecioProd;
    }
}


CODIGO PROVEEDOR
package supercompras.modelo;

public class Proveedor {
    /**
     * @attribute
     */
    private int NitProv;

    /**
     * @attribute
     */
    private String DescripcionProv;

    public Proveedor() {
        NitProv= 0;
    }

    public String getDescripcionProv() {
        return DescripcionProv;
    }

    public int getNitProv() {
        return NitProv;
    }
}

quien me puede ayudar.


En línea

Mitgus

Desconectado Desconectado

Mensajes: 63


Programming Lover


Ver Perfil
Re: Ayuda con java
« Respuesta #1 en: 15 Abril 2013, 02:44 am »

Hola. No soy bueno explicando, de todos modos he comentado bien el código y creo que es bien comprensible  ;D

Solamente arréglale los cálculos sel subtotal, IVA, etc si están mal, que ahí estoy perdido y siempre me sale negativo  :xD

El procedimiento es muy sencillo:

Primero seleccionamos el producto del menú (no vale de nada ya que no dijiste que pre-establezcamos un precio unitario por cada producto, así sería más sencillo). Luego colocamos la cantidad de productos a comprar y luego el precio por unidad.

Al pulsar sobre "calcular", primero se extrae los Strings de textoCantidadProductos y textoPrecioUnitario, luego se convierten a double.
Luego, el if-else anidado le asigna a la variable "descuento" el descuento respectivo de acuerdo a la cantidad adquirida.

Luego ya simplemente se hacen los cálculos (que creo están mal, revísalos) para calcular el subtotal, el IVA, etc. Y por último se muestra la cantidad a pagar por medio de un cuadro de diálogo.


Una imagen de cómo queda(soy pésimo manejando layouts, estoy en eso perdona  ;D)


Código
  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import javax.swing.JTextField;
  4. import javax.swing.JButton;
  5. import javax.swing.JComboBox;
  6. import javax.swing.SwingConstants;
  7. import javax.swing.JOptionPane;
  8. import javax.swing.JScrollPane;
  9.  
  10. import java.awt.FlowLayout;
  11. import java.awt.event.ActionListener;
  12. import java.awt.event.ActionEvent;
  13.  
  14. public class Productos extends JFrame
  15. {
  16.  private JLabel texto1,texto2,texto3; // textos de las etiquetas
  17.  private JTextField textoCantidadProducto, textoPrecioUnitario;
  18.  private JComboBox menuProductos;
  19.  private JButton calcular;
  20.  private String productos[] = {"Laptops","Mochilas","Apple's","TV's","Equipos"};
  21.  
  22.   private double total=0; // total a pagar
  23.   private double precioUnitario=0; // precio unitario de un producto
  24.   private double cantidad=0; // cantidad de productos
  25.   private double subTotal = 0;
  26.   private double descuento= 0;
  27.   private double totalNeto = 0; // neto a pagar (sin descuentos)
  28.   private double impuesto = 0; // descuento
  29.  
  30.   private static final double IVA = 0.16; // tasa de impuesto del IVA
  31.  
  32.  public Productos()
  33.   {
  34.    super("Calculadora de precios");
  35.    setLayout(new FlowLayout() );
  36.  
  37.    texto1 = new JLabel("Seleccione el producto");
  38.    add(texto1);
  39.  
  40.    // menu JComboBox para representar la lista de productos
  41.    menuProductos = new JComboBox(productos);
  42.    menuProductos.setMaximumRowCount(3);
  43.    add(new JScrollPane(menuProductos) );
  44.  
  45.    texto2 = new JLabel("Cantidad");
  46.    add(texto2);
  47.  
  48.    // JTextfield en donde se ingresa la cantidad de productos
  49.    textoCantidadProducto = new JTextField("",10);
  50.    add(textoCantidadProducto);
  51.  
  52.    texto3 = new JLabel("Precio por unidad");
  53.    add(texto3);
  54.  
  55.    // JTextField en donde se ingresa el precio unitario del producto
  56.    textoPrecioUnitario = new JTextField("",10);
  57.    add(textoPrecioUnitario);
  58.  
  59.    calcular = new JButton("Calcular");
  60.    add(calcular);
  61.    calcular.addActionListener(new ActionListener()
  62.     {
  63.  
  64.  
  65.  
  66.      public void actionPerformed(ActionEvent evento)
  67.       {
  68.        String textoMenu,textoCampoProductos,textoCampoPrecioU; // variables que guardan Strings de los JTextFields
  69.        if(evento.getSource()== calcular)
  70.         {
  71.           textoMenu = (String)menuProductos.getSelectedItem();
  72.           textoCampoProductos = textoCantidadProducto.getText(); // extrae el String del campo textoCantidadProductos
  73.           cantidad = Double.parseDouble(textoCampoProductos); // convierte el String a double
  74.           textoCampoPrecioU = textoPrecioUnitario.getText(); // extrae el String del JTextField textoPrecioUnitario
  75.           precioUnitario = Double.parseDouble(textoCampoPrecioU); // convierte el String a double
  76.  
  77.           // depende de la cantidad de productos se obtiene un descuento
  78.           if(cantidad>=0 && cantidad<=4){
  79.             descuento = 0; }
  80.  
  81.           else if(cantidad>=5 && cantidad<=10){
  82.           descuento = 0.2; }
  83.  
  84.           else if(cantidad>=11 && cantidad<=15){
  85.           descuento = 0.45; }
  86.  
  87.           else descuento = 0.6;
  88.  
  89.  
  90.  
  91.           // calcula el total a pagar
  92.           totalNeto = precioUnitario * cantidad;
  93.           descuento = totalNeto * descuento;
  94.           subTotal = totalNeto-descuento;
  95.           impuesto = (subTotal - descuento) * IVA;
  96.  
  97.           total = subTotal - descuento + impuesto;
  98.  
  99.  
  100.        }
  101.  
  102.         // muestra el total a pagar
  103.        JOptionPane.showMessageDialog(Productos.this,"El total a pagar es "+total);
  104.        }
  105.  
  106.  
  107.    }); // fin clase anonima
  108.  
  109.  } // fin constructor
  110.  
  111.  
  112. } // fin





Saludos y bendiciones.


« Última modificación: 15 Abril 2013, 02:55 am por Miguga » En línea

Linux User #560388
ArhennJosey

Desconectado Desconectado

Mensajes: 35


Ver Perfil
Re: Ayuda con java
« Respuesta #2 en: 15 Abril 2013, 03:19 am »

Gracias Caballero, segui trabajando y hasta el momento tengo esto, quisiera saber que debo arreglarle?

CODIGO COMPRAS

package supercompras.modelo;

public class Compras {
    /**
     * @attribute
     */
    private int Cantidad;

    /**
     * @attribute
     */
    private double Subtotal;

    /**
     * @attribute
     */
    private double DescuentoPor;

    /**
     * @attribute
     */
    private double DescuentoDin;

    /**
     * @attribute
     */
    final public static double Iva=16/100;

    /**
     * @attribute
     */
    private int Total;
   
     

    public Compras() {
        Cantidad = 0;
        DescuentoDin = 0;
        Subtotal = 0;
        Total = 0;       
    }
   
    public void asignarCompras(int Cantidad, int DescuentoDin, int Subtotal, int Total){
        Cantidad = 0;
        DescuentoDin = 0;
        Subtotal = 0;
        Total = 0;
    }

    public int getCantidad() {
        return Cantidad;
    }

    public double getDescuentoPor() {
        return DescuentoPor;
    }

    public double getDescuentoDin() {
        return DescuentoDin;
    }

    public double getIva() {
        return Iva;
    }

    public double getSubtotal() {
        return Subtotal;
    }

    public int getTotal() {
        return Total;
    }

    public void calcularDescuentoPor() {
                   
        if (Cantidad>=6 && Cantidad<=10)
            DescuentoPor= (int)(0.02);
        if (Cantidad>=11 && Cantidad<=15)
            DescuentoPor= (int)(0.045);
        if (Cantidad>=16)
            DescuentoPor= (int)(0.06);
        else
            DescuentoPor= (int)(0.0);
           
   }

    public void calcularDescuentoDin(double Iva) {
        if (Cantidad>=6 && Cantidad<=10)
            DescuentoDin= (int)(Subtotal*0.02);
        if (Cantidad>=11 && Cantidad<=15)
            DescuentoDin= (int)(Subtotal*0.045);
        if (Cantidad>=16)
            DescuentoDin= (int)(Subtotal*0.06);
        else
            DescuentoDin= (int)(0.0);
    }

    public void calcularIva() {
    }

    public void calcularSubtotal() {
       
    }

    public void calcularTotal() {
        Total = (int)(Subtotal+DescuentoDin+Iva);
    }
   
   
}




CODIGO PRODUCTO

package supercompras.modelo;

public class Producto {
    /**
     * @attribute
     */
    private int CodigoProd;

    /**
     * @attribute
     */
    private String DescripcionProd;

    /**
     * @attribute
     */
    private int PrecioProd;

    /**
     * @attribute
     */
    private int StockProd;

    public Producto() {
        CodigoProd = 0;
        PrecioProd = 0;
        StockProd = 0;
    }

    public int getStockProd() {
        return StockProd;   
    }

    public int getCodigoProd() {
        return CodigoProd;
    }

    public String getDescripcionProd() {
        return DescripcionProd;
    }

    public int getPrecioProd() {
        return PrecioProd;
    }
}



CODIGO PROVEEDOR

package supercompras.modelo;

public class Proveedor {
    /**
     * @attribute
     */
    private int NitProv;

    /**
     * @attribute
     */
    private String DescripcionProv;

    public Proveedor() {
        NitProv= 0;
    }

    public String getDescripcionProv() {
        return DescripcionProv;
    }

    public int getNitProv() {
        return NitProv;
    }
}



FRAME1

package supercompras.modelo;

import java.awt.Color;
import java.awt.Dimension;

import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Rectangle;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import java.text.DecimalFormat;
import java.text.NumberFormat;

import javax.swing.BorderFactory;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
//import javax.swing.Swing.JOptioPane;
//import javax.text.DecimalFormat;
//import javax.text.NubmerFormat;

public class Frame1 extends JFrame {
    private Compras compras[] = new Compras[5];
    private Producto producto = new Producto();
    private Proveedor proveedor = new Proveedor();
    private JLabel jLabel1 = new JLabel();
    private JLabel jLabel2 = new JLabel();
    private JTextField jTextField1 = new JTextField();
    private JLabel jLabel3 = new JLabel();
    private JLabel jLabel4 = new JLabel();
    private JLabel jLabel5 = new JLabel();
    private JLabel jLabel6 = new JLabel();
    private JLabel jLabel7 = new JLabel();
    private JTextField jTextField2 = new JTextField();
    private JTextField jTextField3 = new JTextField();
    private JTextField jTextField4 = new JTextField();
    private JComboBox jComboBox1 = new JComboBox();
    private JLabel jLabel8 = new JLabel();
    private JLabel jLabel9 = new JLabel();
    private JLabel jLabel10 = new JLabel();
    private JLabel jLabel11 = new JLabel();
    private JLabel jLabel12 = new JLabel();
    private JTextField jTextField5 = new JTextField();
    private JTextField jTextField6 = new JTextField();
    private JTextField jTextField7 = new JTextField();
    private JTextField jTextField8 = new JTextField();
    private JTextField jTextField9 = new JTextField();
    private JButton jButton1 = new JButton();
    private JButton jButton2 = new JButton();
    private JButton jButton3 = new JButton();
    private JButton jButton4 = new JButton();
    private JButton jButton5 = new JButton();
    private JButton jButton6 = new JButton();
    private JButton jButton7 = new JButton();
    private JButton jButton8 = new JButton();
    private JButton jButton9 = new JButton();

    public Frame1() {
        try {
            jbInit();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        this.getContentPane().setLayout( null );
        this.setSize(new Dimension(550, 567));
        this.setForeground(new Color(247, 255, 214));
        this.setBackground(new Color(0, 132, 198));
        jLabel1.setBounds(new Rectangle(200, 10, 245, 30));
        jLabel1.setText("PROGRAMA DE COMPRAS");
        jLabel1.setFont(new Font("Tahoma", 1, 17));
        jLabel2.setText("Proveedor");
        jLabel2.setBounds(new Rectangle(45, 60, 75, 20));
        jLabel2.setFont(new Font("Tahoma", 1, 13));
        jTextField1.setBounds(new Rectangle(130, 60, 150, 25));
        jLabel3.setText("Producto");
        jLabel3.setBounds(new Rectangle(10, 100, 80, 30));
        jLabel3.setFont(new Font("Tahoma", 1, 13));
        jLabel3.setBackground(Color.cyan);
        jLabel3.setBorder(BorderFactory.createLineBorder(Color.black, 1));
        jLabel3.setHorizontalAlignment(SwingConstants.CENTER);
        jLabel3.setHorizontalTextPosition(SwingConstants.CENTER);
        jLabel4.setText("Producto");
        jLabel4.setBounds(new Rectangle(65, 145, 70, 15));
        jLabel4.setFont(new Font("Tahoma", 1, 13));
        jLabel5.setText("Cantidad");
        jLabel5.setBounds(new Rectangle(220, 145, 85, 15));
        jLabel5.setFont(new Font("Tahoma", 1, 13));
        jLabel6.setText("Precio U.");
        jLabel6.setBounds(new Rectangle(335, 145, 80, 15));
        jLabel6.setFont(new Font("Tahoma", 1, 13));
        jLabel7.setText("Subtotal");
        jLabel7.setBounds(new Rectangle(440, 145, 70, 15));
        jLabel7.setFont(new Font("Tahoma", 1, 13));
        jTextField2.setBounds(new Rectangle(210, 175, 105, 25));
        jTextField3.setBounds(new Rectangle(325, 175, 90, 25));
        jTextField4.setBounds(new Rectangle(425, 175, 95, 25));
        jComboBox1.setBounds(new Rectangle(55, 175, 135, 25));
        jComboBox1.setLightWeightPopupEnabled(false);
        jLabel8.setText("Subtotal");
        jLabel8.setBounds(new Rectangle(315, 225, 65, 20));
        jLabel8.setFont(new Font("Tahoma", 1, 13));
        jLabel8.setSize(new Dimension(100, 15));
        jLabel9.setText("Descuento %");
        jLabel9.setBounds(new Rectangle(315, 265, 110, 15));
        jLabel9.setFont(new Font("Tahoma", 1, 13));
        jLabel9.setSize(new Dimension(100, 15));
        jLabel10.setText("Descuento $");
        jLabel10.setBounds(new Rectangle(315, 300, 85, 15));
        jLabel10.setFont(new Font("Tahoma", 1, 13));
        jLabel10.setSize(new Dimension(100, 15));
        jLabel11.setText("IVA");
        jLabel11.setBounds(new Rectangle(315, 335, 80, 15));
        jLabel11.setFont(new Font("Tahoma", 1, 13));
        jLabel11.setSize(new Dimension(100, 15));
        jLabel12.setText("TOTAL");
        jLabel12.setBounds(new Rectangle(315, 370, 85, 15));
        jLabel12.setFont(new Font("Tahoma", 1, 13));
        jLabel12.setSize(new Dimension(100, 15));
        jTextField5.setBounds(new Rectangle(430, 220, 90, 20));
        jTextField6.setBounds(new Rectangle(430, 260, 90, 20));
        jTextField7.setBounds(new Rectangle(430, 295, 90, 20));
        jTextField8.setBounds(new Rectangle(430, 330, 90, 20));
        jTextField9.setBounds(new Rectangle(430, 365, 90, 20));
        jButton1.setText("Adicionar");
        jButton1.setBounds(new Rectangle(10, 410, 90, 28));
        jButton1.setSize(new Dimension(90, 28));
        jButton1.setBackground(new Color(0, 132, 198));
        jButton1.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    jButton1_actionPerformed(e);
                }
            });
        jButton2.setText("Buscar");
        jButton2.setBounds(new Rectangle(115, 410, 90, 28));
        jButton2.setSize(new Dimension(90, 28));
        jButton2.setBackground(new Color(0, 132, 198));
        jButton3.setText("Borrar");
        jButton3.setBounds(new Rectangle(210, 410, 90, 28));
        jButton3.setSize(new Dimension(90, 28));
        jButton3.setBackground(new Color(0, 132, 198));
        jButton4.setText("Modificar");
        jButton4.setBounds(new Rectangle(305, 410, 90, 28));
        jButton4.setSize(new Dimension(90, 28));
        jButton4.setBackground(new Color(0, 132, 198));
        jButton5.setText("Primero");
        jButton5.setBounds(new Rectangle(10, 455, 90, 28));
        jButton5.setSize(new Dimension(90, 28));
        jButton5.setBackground(new Color(0, 132, 198));
        jButton6.setText("Anterior");
        jButton6.setBounds(new Rectangle(115, 455, 90, 28));
        jButton6.setSize(new Dimension(90, 28));
        jButton6.setBackground(new Color(0, 132, 198));
        jButton7.setText("Siguiente");
        jButton7.setBounds(new Rectangle(210, 455, 90, 28));
        jButton7.setSize(new Dimension(90, 28));
        jButton7.setBackground(new Color(0, 132, 198));
        jButton8.setText("Ultimo");
        jButton8.setBounds(new Rectangle(305, 455, 90, 28));
        jButton8.setSize(new Dimension(90, 28));
        jButton8.setBackground(new Color(0, 132, 198));
        jButton9.setText("Salir");
        jButton9.setBounds(new Rectangle(425, 455, 90, 28));
        jButton9.setSize(new Dimension(90, 28));
        jButton9.setBackground(new Color(0, 132, 198));
        jButton9.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    jButton9_actionPerformed(e);
                }
            });
        this.getContentPane().add(jButton9, null);
        this.getContentPane().add(jButton8, null);
        this.getContentPane().add(jButton7, null);
        this.getContentPane().add(jButton6, null);
        this.getContentPane().add(jButton5, null);
        this.getContentPane().add(jButton4, null);
        this.getContentPane().add(jButton3, null);
        this.getContentPane().add(jButton2, null);
        this.getContentPane().add(jButton1, null);
        this.getContentPane().add(jTextField9, null);
        this.getContentPane().add(jTextField8, null);
        this.getContentPane().add(jTextField7, null);
        this.getContentPane().add(jTextField6, null);
        this.getContentPane().add(jTextField5, null);
        this.getContentPane().add(jLabel12, null);
        this.getContentPane().add(jLabel11, null);
        this.getContentPane().add(jLabel10, null);
        this.getContentPane().add(jLabel9, null);
        this.getContentPane().add(jLabel8, null);
        this.getContentPane().add(jComboBox1, null);
        this.getContentPane().add(jTextField4, null);
        this.getContentPane().add(jTextField3, null);
        this.getContentPane().add(jTextField2, null);
        this.getContentPane().add(jLabel7, null);
        this.getContentPane().add(jLabel6, null);
        this.getContentPane().add(jLabel5, null);
        this.getContentPane().add(jLabel4, null);
        this.getContentPane().add(jLabel3, null);
        this.getContentPane().add(jTextField1, null);
        this.getContentPane().add(jLabel2, null);
        this.getContentPane().add(jLabel1, null);
        jComboBox1.setModel(new DefaultComboBoxModel());

    }
    private void btnSalir_actionPerformed(ActionEvent e) {
        dispose();
    }
    public static void main(String args[]) {
         EventQueue.invokeLater(new Runnable() {
               public void run() {
                   new Frame1().setVisible(true);
               }
           });

}
    private void jComboBox1_actionPerformed(ActionEvent e) {
       
    }

    private void jButton9_actionPerformed(ActionEvent e) {
        dispose();
      }


    private void jButton1_actionPerformed(ActionEvent e) {
            int i = 0, cantidad=0, valor=0;
                 String cadena, proveedor, apellido;
                 proveedor = JOptionPane.showInputDialog("NOMBRE PROVEEDOR");
                 cadena = JOptionPane.showInputDialog("CANTIDAD DE PRODUCTO");
                 cantidad = Integer.parseInt(cadena);
                 cadena = JOptionPane.showInputDialog("INGRESE VALOR UNITARIO");
                 valor = Integer.parseInt(cadena);
                 compras = new Compras();
                 compras.asignarCompras(proveedor, cantidad, valor);
                 compras.calcularDescuentoPor(Integer.parseInt(cadena));
                 compras.calcularDescuentoDin(Integer.parseInt(cadena));
                 compras.calcularSubtotal();
                 compras.calcularTotal(Integer.parseInt(cadena));
                 mostrar(i);
                 i++;
    }
   
    public void mostrar(int i)
        {
          DecimalFormat df = ( DecimalFormat )NumberFormat.getInstance( );
          df.applyPattern( "$###,##0.##" );
          jTextField1.setText(String.valueOf((compras.getDescripcionProv())));
          jTextField2.setText(df.format(compras.getCantidad()));
          jTextField3.setText(df.format(compras.getPrecioProd()));
          jTextField4.setText(df.format(compras.getSubtotal()));
          jTextField5.setText(df.format(compras.getSubtotal()));
          jTextField6.setText(df.format(compras.getDescuentoPor()));
          jTextField7.setText(df.format(compras.getDescuentoDin()));
          jTextField8.setText(df.format(compras.getTotal()));
         
         }
}

Le Agradezco su opinión.
En línea

Mitgus

Desconectado Desconectado

Mensajes: 63


Programming Lover


Ver Perfil
Re: Ayuda con java
« Respuesta #3 en: 15 Abril 2013, 03:21 am »

Ahora, de la forma que te indico es más sencillo: Crear un array de doubles para poner los precios unitarios de cada producto(de acuerdo al indice de orden de los productos).




Código
  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import javax.swing.JTextField;
  4. import javax.swing.JButton;
  5. import javax.swing.JComboBox;
  6. import javax.swing.JOptionPane;
  7. import javax.swing.JScrollPane;
  8. import java.text.DecimalFormat;
  9.  
  10. import java.awt.FlowLayout;
  11. import java.awt.event.ActionListener;
  12. import java.awt.event.ActionEvent;
  13.  
  14. public class Productos2 extends JFrame
  15. {
  16.  private JLabel texto1,texto2,texto3; // textos de las etiquetas
  17.  private JTextField textoCantidadProducto, textoPrecioUnitario;
  18.  private JComboBox menuProductos;
  19.  private JButton calcular;
  20.  private String productos[] = {"Laptops","Mochilas","Apple's","TV's","Equipos"};
  21.  private double precioProductos[] = {1490.9,32.5,3590.9,1540.5,999.9};
  22.  
  23.   private double total=0; // total a pagar
  24.   private double cantidad=0; // cantidad de productos
  25.   private double precioUnitario;
  26.   private double subTotal = 0;
  27.   private double descuento= 0;
  28.   private double totalNeto = 0; // neto a pagar (sin descuentos)
  29.   private double impuesto = 0; // descuento
  30.   private DecimalFormat formato = new DecimalFormat("0.00"); // para 'cortar' los decimales del double
  31.   private String textogetItemMenu;
  32.  
  33.   private static final double IVA = 0.16; // tasa de impuesto del IVA
  34.  
  35.  public Productos2()
  36.   {
  37.    super("Calculadora de precios");
  38.    setLayout(new FlowLayout() );
  39.  
  40.    texto1 = new JLabel("Seleccione el producto");
  41.    add(texto1);
  42.  
  43.    // menu JComboBox para representar la lista de productos
  44.    menuProductos = new JComboBox(productos);
  45.    menuProductos.setMaximumRowCount(3);
  46.    add(new JScrollPane(menuProductos) );
  47.  
  48.    texto2 = new JLabel("Cantidad");
  49.    add(texto2);
  50.  
  51.    // JTextfield en donde se ingresa la cantidad de productos
  52.    textoCantidadProducto = new JTextField("",10);
  53.    add(textoCantidadProducto);
  54.  
  55.    // creamos el boton y lo agregamos
  56.    calcular = new JButton("Calcular");
  57.    add(calcular);
  58.    // creamos una clase interna anonima para manejar el evento del boton
  59.    calcular.addActionListener(new ActionListener()
  60.     {
  61.  
  62.      public void actionPerformed(ActionEvent evento)
  63.       {
  64.        String textoCampoProductos;// variables que guardan Strings del JTextField
  65.        if(evento.getSource()== calcular)
  66.         {
  67.           textogetItemMenu = (String)menuProductos.getSelectedItem();
  68.           textoCampoProductos = textoCantidadProducto.getText(); // extrae el String del campo textoCantidadProductos
  69.           cantidad = Double.parseDouble(textoCampoProductos); // convierte el String a entero
  70.           precioUnitario = precioProductos[menuProductos.getSelectedIndex()]; // extrae el String del JTextField textoPrecioUnitario
  71.  
  72.  
  73.           // depende de la cantidad de productos se obtiene un descuento
  74.           if(cantidad>=0 && cantidad<=4){
  75.             descuento = 0; }
  76.  
  77.           else if(cantidad>=5 && cantidad<=10){
  78.           descuento = 0.2; }
  79.  
  80.           else if(cantidad>=11 && cantidad<=15){
  81.           descuento = 0.45; }
  82.  
  83.           else descuento = 0.6;
  84.  
  85.  
  86.  
  87.           // calcula el total a pagar
  88.           totalNeto = precioUnitario * cantidad;
  89.           descuento = totalNeto * descuento;
  90.           subTotal = totalNeto-descuento;
  91.           impuesto = (subTotal - descuento) * IVA;
  92.  
  93.           total = subTotal - descuento + impuesto;
  94.  
  95.  
  96.        }
  97.  
  98.         // muestra el total a pagar
  99.        JOptionPane.showMessageDialog(Productos2.this,"Ha adquirido "+textogetItemMenu+". El total a pagar es "+formato.format(total));
  100.        }
  101.  
  102.  
  103.    }); // fin clase anonima
  104.  
  105.  } // fin constructor
  106.  
  107.  
  108. } // fin


Quizás te llame la atención ésta línea:

precioUnitario = precioProductos[menuProductos.getSelectedIndex()];

Bien, te explico. PecioUnitario va a guardar el precio unitario del producto elegido. Ahora, para saber qué producto elige el usario en un JComboBox, se llama al método getSelectedItem(), pero no lo vamos a usar. ¿Por qué?

Sencillo, por que hemos "asociado" el array precioProductos con el array productos. De esta manera podemos obtener el precio unitario del ítem escogido, para esto nos es útil el método getSelectedIndex(), para obtener el subíndice del menú de items. Osea:

precioProductos[menuProductos.getSelectedIndex() -> esto devuelve un entero. Por ejemplo si elegimos TV's, devolverá el subíndice del array, en este caso 3 (recuerda que un array cuenta sus subíndices desde 0).

Por ejemplo, el ejemplo anterior se reduce a:

precioProductos[3] -> Y obtenemos el precio unitario de la casilla 3 del array precioProductos, en este caso TV's.





Saludos y bendiciones  :)
En línea

Linux User #560388
Mitgus

Desconectado Desconectado

Mensajes: 63


Programming Lover


Ver Perfil
Re: Ayuda con java
« Respuesta #4 en: 15 Abril 2013, 03:24 am »

Amigo, edita tu post y coloca tu código entre las etiquetas {code==java} {/code}  Cambiar { por [ y } por ]

Es difiícil comprender el código así. También borra los comentarios entre declaraciones de variables, dificultan la lectura del código.

Dime, por qué haces esto?

Citar
public void calcularDescuentoPor() {
                   
        if (Cantidad>=6 && Cantidad<=10)
            DescuentoPor= (int)(0.02);
        if (Cantidad>=11 && Cantidad<=15)
            DescuentoPor= (int)(0.045);
        if (Cantidad>=16)
            DescuentoPor= (int)(0.06);
        else
            DescuentoPor= (int)(0.0);
           
   }

Por qué realizas el cast a int. En todos los casos te dará 0, por que int NO redondea automáticamente, necesitas de la clase Math para eso.
En línea

Linux User #560388
ArhennJosey

Desconectado Desconectado

Mensajes: 35


Ver Perfil
Re: Ayuda con java
« Respuesta #5 en: 15 Abril 2013, 03:31 am »

gracias caballero, creo que ahí seria un doublé, otra cosa, el proyecto lo hago asi, porque es un parcial y debo presentarlo como indica el docente, quería subir una imagen de como debe ir el formulario para que lo mires, pero no se como. Me ayudas.
Gracias.
En línea

Mitgus

Desconectado Desconectado

Mensajes: 63


Programming Lover


Ver Perfil
Re: Ayuda con java
« Respuesta #6 en: 15 Abril 2013, 03:37 am »

Hola,

Para subir la imagen basta con subir la imagen a www.imgur.com Dale clic en Browse, ve al directorio de tu imagen y la eliges. Luego le das a Start Upload, cuando termine a la derecha le darán muchos links, escoja el segundo, y por último simplemente pega el link entre el código [img}tuimagen[/img]. } = ] { = [

PD: Lo de poner el código entre {code==java} {/code} lo decía para poder ver mejor el código. y el /*atribute*/ cambialo por // atribute es mucho mejor.



Saludos y bendiciones  :)
En línea

Linux User #560388
ArhennJosey

Desconectado Desconectado

Mensajes: 35


Ver Perfil
Re: Ayuda con java
« Respuesta #7 en: 15 Abril 2013, 03:49 am »

HOLA,
ESTA ES LA IMAGEN DE COMO DEBE QUEDAR EL FORMULARIO.
Gracias

En línea

ArhennJosey

Desconectado Desconectado

Mensajes: 35


Ver Perfil
Re: Ayuda con java
« Respuesta #8 en: 15 Abril 2013, 03:54 am »

Esa es la imagen, como te das cuenta, debo Escribir el Poveedro, luego escoger el articulo, luego ingresar cantidad,  y luego precio unitario, me debe dar un subtotal, también cual es el porcentaje de descuento, cuanto es en dinero y el total.
Todo debe estar bajo los siguientes parámetros:

1. El usuario escribe el nombre del proveedor.
2. Selecciona el producto
3. Escribe la cantidad del producto.
4. Escribe el precio unitario.
5. Subtotal = Cantidad * PrecioUnitario
6. Se hace un descuento si el total de productos esta entre 5-10 del 2%, 11-15 del 4,5% y de   16 en adelante del 6%, todo sobre el subtotal.
El IVA equivale al 16% del subtotal - Decuento.
TOTAL = SUBTOTAL - DESCUENTOS + IVA.
Nota: Solo está activo el botón adicionar

deben ser tres clases.

Gracias, tu ayuda es invaluable.
En línea

Mitgus

Desconectado Desconectado

Mensajes: 63


Programming Lover


Ver Perfil
Re: Ayuda con java
« Respuesta #9 en: 15 Abril 2013, 03:59 am »

Puff, se ve "algo complicado". Creo que podría ayudarte en lo que a implementación respecta, pero la interfaz gráfica no podré ayudarte, soy malísimo manejando Layouts.

Te recomiendo que realices primero el frame con los JTextFields, los JButtons y el menú JComboBox y luego pasamos a programar los eventos, te parece?


Saludos y bendiciones  :)
En línea

Linux User #560388
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA JAVA « 1 2 »
Java
jauma123 10 8,670 Último mensaje 1 Marzo 2004, 16:43 pm
por jauma123
ayuda en java
Java
drakman 0 3,116 Último mensaje 1 Junio 2004, 11:16 am
por drakman
ayuda con java
Java
coolfrog 1 2,549 Último mensaje 12 Diciembre 2004, 08:00 am
por cimi
ayuda con java
Java
tormenta 2 2,586 Último mensaje 27 Abril 2005, 16:39 pm
por tormenta
Ayuda con Java!
Java
McKain 1 2,357 Último mensaje 30 Julio 2005, 01:28 am
por heap
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines