Java - necesito aplicar un descuento del 10 porciento desde los 700000

 
Vista:

necesito aplicar un descuento del 10 porciento desde los 700000

Publicado por Catalina (1 intervención) el 25/09/2020 07:38:17
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
public class Venta {
    private String codigo;
    private int precio;
    private int cantidad;
    private boolean descontar;
 
    public Venta() {
        codigo = null;
        precio = 0;
        cantidad = 0;
        descontar = false;
    }
 
    public Venta(String codigo, int precio, int cantidad, boolean descontar) {
        this.codigo = codigo;
        this.precio = precio;
        this.cantidad = cantidad;
        this.descontar = descontar;
    }
 
    public boolean isDescontar() {
        return descontar;
    }
 
    public void setDescontar(boolean descontar) {
 
        this.descontar = descontar;
 
      }
 
    public String getCodigo() {
        return codigo;
    }
 
    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }
 
    public int getPrecio() {
        return precio;
    }
 
    public void setPrecio(int precio) {
        this.precio = precio;
    }
 
    public int getCantidad() {
        return cantidad;
    }
 
    public void setCantidad(int cantidad) {
        this.cantidad = cantidad;
    }
 
    public void printVenta()
    {
        System.out.println("|  Información de venta  |");
        System.out.println("Codigo:"+getCodigo());
        System.out.println("Precio:$"+getPrecio());
        System.out.println("Cantidad:"+getCantidad());
        System.out.println("Aplica descuento:"+isDescontar());
        System.out.println("Total:$"+calcularTotal());
        System.out.println("Precio Total:$"+aplicarDescuento());
    }
 
    //métodos custom
    public int calcularTotal()
    {
        return precio *  cantidad;
    }
 
    public int aplicarDescuento()
    {
        int total = 0;
        if (descontar)
        {
            total = (int)(calcularTotal() - (calcularTotal()*0.10));
        }
        else
        {
            total = calcularTotal();
        }
        return total;
          }
 
}
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
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

necesito aplicar un descuento del 10 porciento desde los 700000

Publicado por Billy Joel (876 intervenciones) el 26/09/2020 18:27:27
Cual es el problema que tienes, he probado tu clase y parece que si lo hace.
Me hice este main para probar:
1
2
3
4
5
public static void main(String [] args){
    Venta v = new Venta("codigo", 50000, 15, true);
    System.out.println("venta: ");
    v.printVenta();
}

Y el resultado ha sido el siguiente:
1
2
3
4
5
6
7
|  Información de venta  |
Codigo:codigo
Precio:$50000
Cantidad:15
Aplica descuento:true
Total:$750000
Precio Total:$675000

Entonces mi pregunta es ¿cuál es el problema?

Saludos,.
Billy Joel
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
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

necesito aplicar un descuento del 10 porciento desde los 700000

Publicado por Rodrigo (623 intervenciones) el 26/09/2020 18:32:24
Supongo que es que el descuento se aplica dado el flag, pero no respecto a la condicion indicada en el titulo.
El flag no deberia ser parte de la entrada, deberia calcularse con los valores.
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
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

necesito aplicar un descuento del 10 porciento desde los 700000

Publicado por Billy Joel (876 intervenciones) el 26/09/2020 18:40:42
Yo mantendría el flag del descuento ya que está definido como propiedad de la clase, pero si el descuento además del flag depende de la condición entonces el método de aplicarDescuento lo dejaría así:
1
2
3
4
5
6
7
public int aplicarDescuento() {
    int total = calcularTotal();
    if (descontar && total > 700000) {
        total -= total * 0.10;
    }
    return total;
}

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
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

necesito aplicar un descuento del 10 porciento desde los 700000

Publicado por Rodrigo (623 intervenciones) el 26/09/2020 23:04:08
La duda que tengo es si solo se aplica el descuento al monto sobre los 700000, no sobre el total.
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