Java - Ayuda Vector interactivo y modificar un poco el programa.

   
Vista:

Ayuda Vector interactivo y modificar un poco el programa.

Publicado por Erick (37 intervenciones) el 29/04/2015 06:28:51
Hola Buenas Noches, para el dia de mañana necesitaba mostrar un programa que realice lo siguiente:

Crear un programa que deje ingresar 3 productos y nos pida su respectivo valor,Luego que deje ver el valor del iva desglosado y nos dé un valor total de la compra. 1.6 el iva.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import java.util.Scanner;
 
public class Factura {
 
    Scanner teclado = new Scanner(System.in);
    private String producto1;
    private String producto2;
    private String producto3;
    float p1;
    float p2;
    float p3;
    double valor;
    float iva1;
    float iva2;
    float iva3;
    float siva1;
    float siva2;
    float siva3;
 
    public void registrardatos() {
        System.out.print("Por favor ingrese primer producto:");
        producto1 = teclado.next();
        System.out.print("Por favor ingrese segundo producto:");
        producto2 = teclado.next();
        System.out.print("Por favor ingrese tercer producto:");
        producto3 = teclado.next();
    }
 
    public void valorproducto() {
        System.out.println("Por favor ingrese el valor de " + producto1);
        p1 = teclado.nextFloat();
        System.out.println("Por favor ingrese el valor de " + producto2);
        p2 = teclado.nextFloat();
        System.out.println("Por favor ingrese el valor de " + producto3);
        p3 = teclado.nextFloat();
        valor = (p1 + p2 + p3);
        iva1 = (p1 * 16) / 100;
        iva2 = (p2 * 16) / 100;
        iva3 = (p3 * 16) / 100;
        siva1 = (p1 - iva1);
        siva2 = (p2 - iva2);
        siva3 = (p3 - iva3);
        System.out.println("el valor neto para el " + producto1 + " " + "es de " + " " + "$" + siva1 + " su iva es" + " " + "$" + iva1 + " " + "para un valor de" + " $ " + p1);
        System.out.println("el valor neto para el " + producto2 + " " + "es de " + " " + "$" + siva2 + " su iva es" + " " + "$" + iva2 + " " + "para un valor de" + " $ " + p2);
        System.out.println("el valor neto para el " + producto3 + " " + "es de " + " " + "$" + siva3 + " su iva es" + " " + "$" + iva3 + " " + "para un valor de" + " $ " + p3);
        System.out.println("EL VALOR TOTAL DE SU COMPRA SON $ " + valor);
        System.out.println("GRACIAS POR SU COMPRA");
    }
 
    public static void main(String[] arg) {
        Factura producto;//
        producto = new Factura();
        producto.registrardatos();
        producto.valorproducto();
    }
}

OK HASTA HAY,TODO BIEN

Pero mi profesor me ha pedido que lo haga con un vector interactivo en lugar de que sean solo con 3 variables. que el usuario pueda ingresar la cantidad que quiere de artículos. EJEMPLO: 1 ,3,5,6,20,312. Y LUEGO IMPRIMIR UNA FACTURA DONDE EL IVA ESTE DISCRIMINADO CON SU VALOR TOTAL DE IVA Y TOTAL A PAGAR. Realmente lo e intentado muchísimas veces de realizar pero no e logrado ni siquiera que sea con un vector o (arreglo) interactivo.
Lo he intentado con este modo porque es el que me recomendó el docente pero nada. No puedo.
1
2
3
4
5
6
private Scanner teclado;
private float[] Articulos;
teclado = new Scanner(System.in);
System.out.print("Ingrese el numero articulos:");
articulos= teclado.nextInt();
articulos= new float[articulos];

Gracias por su tiempo espero alguien me pueda a modificar el programa
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda Vector interactivo y modificar un poco el programa.

Publicado por Andrés andres.mella.romero@gmail.com (231 intervenciones) el 30/04/2015 06:03:30
Mega modificación.

Untitled
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda Vector interactivo y modificar un poco el programa.

Publicado por Erick (37 intervenciones) el 30/04/2015 09:31:30
Andres como hago para que no salga con parte gráfica es que no nos han enseñado la parte gráfica aun. Lo quiero un poco mas sencillo me entiendes. Pero igual te lo agradezco muchísimo. :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda Vector interactivo y modificar un poco el programa.

Publicado por Andrés andres.mella.romero@gmail.com (231 intervenciones) el 30/04/2015 09:44:37
Ups, sorry, se me paso la mano entonces. MM habra que modificar unas cosillas, a que hora lo necesitas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda Vector interactivo y modificar un poco el programa.

Publicado por Andrés andres.mella.romero@gmail.com (231 intervenciones) el 30/04/2015 10:38:54
Ahh ya esta, saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda Vector interactivo y modificar un poco el programa.

Publicado por Andrés andres.mella.romero@gmail.com (231 intervenciones) el 30/04/2015 10:36:10
Untitled
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
package facturacion;
 
import domain.Producto;
import java.text.NumberFormat;
import java.util.Locale;
import java.util.Scanner;
 
/**
 *
 * @author Andrés Mella
 */
public class Facturacion {
 
    private Double totalIVA;
    private Double totalProductos;
    private Double totalPagar;
    private Producto[] productos;
    private Integer cantidad;
 
    public Facturacion() {
        totalIVA=0d;
        totalProductos=0d;
        totalPagar=0d;
    }
 
    public void solicitarCantidadProductos(Scanner scanner){
 
        System.out.print("Total de productos: ");
        cantidad=scanner.nextInt();
 
    }
 
    public void crearProductos() {
        productos=new Producto[cantidad];
 
    }
 
    public void solicitarProductos(Scanner scanner) {
        for(int i =0 ; i < cantidad ; i++) {
            productos[i]=solicitarProducto(scanner);
        }
    }
 
    private Producto solicitarProducto(Scanner scanner) {
 
       System.out.println("\n");
       System.out.print("Cantidad: ");
       Integer cantidad = scanner.nextInt();
       System.out.print("Nombre: ");
       String nombre = scanner.next();
       System.out.print("Precio: ");
       Double precio = scanner.nextDouble();
 
       Producto producto = new Producto(nombre, precio, cantidad);
 
       totalIVA += producto.getIVATotal();
       totalProductos += producto.getPrecioUnitarioTotal();
       totalPagar += producto.getPrecioUnitarioConIVATotal();
 
       return producto;
 
    }
 
    public void imprimirFactura() {
 
        System.out.println("\nFactura\n");
 
        Locale es_MX = new Locale("es","MX");
        NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(es_MX);
 
        for(Producto producto : productos) {
            System.out.println("Cantidad: "+producto.getCantidad());
            System.out.println("Nombre: "+producto.getNombre());
            System.out.println("Precio: "+currencyFormatter.format(producto.getPrecioUnitario()));
            System.out.println("Precio con IVA: "+currencyFormatter.format(producto.getPrecioUnitarioConIVA()));
            System.out.println("Precio total con IVA: "+currencyFormatter.format(producto.getPrecioUnitarioConIVATotal()));
            System.out.println("IVA: "+currencyFormatter.format(producto.getIVA()));
            System.out.println("IVA total: "+currencyFormatter.format(producto.getIVATotal()));
        }
 
        System.out.println("\nDesglose factura\n");
        System.out.println("Total de IVA a pagar: "+currencyFormatter.format(totalIVA));
        System.out.println("Total en productos: "+currencyFormatter.format(totalProductos));
        System.out.println("Total a pagar: "+currencyFormatter.format(totalPagar));
    }
 
    public static void main(String[] args) {
 
        Scanner scanner = null;
 
        try {
 
            scanner = new Scanner(System.in);
            Facturacion facturacion = new Facturacion();
            facturacion.solicitarCantidadProductos(scanner);
            facturacion.crearProductos();
            facturacion.solicitarProductos(scanner);
            facturacion.imprimirFactura();
 
        }catch(Exception e) {
            e.printStackTrace();
        }finally {
            if(null!=scanner) {
                scanner.close();
            }
        }
 
    }
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda Vector interactivo y modificar un poco el programa.

Publicado por Erick (37 intervenciones) el 02/05/2015 07:21:47
WOW Enserio.. NO lo puedo creer.. Te lo agradezco inmensamente.
Me sorprendiste cuando lo hiciste con la parte gráfica. Realmente te lo agradezco.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda Vector interactivo y modificar un poco el programa.

Publicado por Erick (37 intervenciones) el 02/05/2015 08:13:51
Hola de nuevo solo una pequeña inquietud es por curiosidad. Hay alguna forma de quitar estos dos ultimos ceros


.00
Quitar-2-ceros


Tan solo es curiosidad
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda Vector interactivo y modificar un poco el programa.

Publicado por Andrés andres.mella.romero@gmail.com (231 intervenciones) el 02/05/2015 08:20:51
Yo no haría eso, que tal si el total es $16999.52? Pero... si asi lo requieres... entonces en la clase Facturacion, modifica el método imprimirFactura, debe quedar así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public void imprimirFactura() {
 
        System.out.println("\nFactura\n");
 
        Locale es_MX = new Locale("es","MX");
        NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(es_MX);
        
        currencyFormatter.setMinimumFractionDigits(0);
        currencyFormatter.setMaximumFractionDigits(0);
        
        for(Producto producto : productos) {
 
            System.out.println("Cantidad: "+producto.getCantidad());
            System.out.println("Nombre: "+producto.getNombre());
            System.out.println("Precio: "+currencyFormatter.format(producto.getPrecioUnitario()));
            System.out.println("Precio con IVA: "+currencyFormatter.format(producto.getPrecioUnitarioConIVA()));
            System.out.println("Precio total con IVA: "+currencyFormatter.format(producto.getPrecioUnitarioConIVATotal()));
            System.out.println("IVA: "+currencyFormatter.format(producto.getIVA()));
            System.out.println("IVA total: "+currencyFormatter.format(producto.getIVATotal()));
 
        }
 
        System.out.println("\nDesglose factura\n");
        System.out.println("Total de IVA a pagar: "+currencyFormatter.format(totalIVA));
        System.out.println("Total en productos: "+currencyFormatter.format(totalProductos));
        System.out.println("Total a pagar: "+currencyFormatter.format(totalPagar));
 
    }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar