0votos

Sistema de subasta en Java en Java

por alvaro sanz llorente hace 4 meses

Así lo he hecho

Diseña un sistema de subasta entre varios compradores donde el máximo pujador ganara el objeto pujado.

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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
import java.util.*; 
 
 
public class Sistemadesubasta { 
 
    public static void main(String[] args) { 
        Scanner sc = new Scanner(System.in); 
        int longitud = 0; 
        int cont = 0; 
        int cantidad1 = 0; 
        int cantidad2 = 0; 
        int cantidad3 = 0; 
        int aleatorio = 0; 
        int suma=0; 
        String ternario1=""; 
        String ternario2=""; 
        String ternario3=""; 
        String siono = ""; 
        String acumularprecio = ""; 
        String acumularproducto = ""; 
        String acumularprecio2 = ""; 
        String acumularproducto2 = ""; 
        String acumularprecio3 = ""; 
        String acumularproducto3 = ""; 
        ArrayList<String> productos = new ArrayList<String>(); 
        productos.add("coche"); 
        productos.add("cuadro"); 
        productos.add("comoda"); 
        longitud = productos.size(); 
 
        while (longitud != 0) { 
 
            System.out.println("El  objeto a subasta es:" + productos.get(cont)); 
 
            aleatorio = (int) (Math.random() * 1000) + 1; 
            System.out.println("el precio de venta del producto es de "+ aleatorio+"€"); 
            while(cantidad1<=aleatorio){ 
            System.out.println("Introduzca cantidad el primer comprador"); 
            cantidad1 = sc.nextInt(); 
            if(cantidad1<aleatorio){ 
                System.out.println("debes introducir una cantidad mas alta que el precio de salida"); 
            }else if(cantidad1== aleatorio){ 
                System.out.println("debes introducir una cantidad distinta que el precio de salida"); 
            suma+=cantidad1; 
         
        while(!siono.equals("si") && !siono.equals("no") ){ 
                System.out.println("la puja actual de " + productos.get(cont)+ " es " + suma+"€"); 
                System.out.println("deseas pujar o pasar? Si o No"); 
                siono = sc.next().toLowerCase(); 
            if(!siono.equals("si") && !siono.equals("no")){ 
                   System.out.println("debes decir si o no"); 
         
          if (siono.equals("si")) { 
                while (cantidad2 <=cantidad1) { 
                    System.out.println("Introduzca cantidad el segundo comprador"); 
                    cantidad2 = sc.nextInt(); 
                    if (cantidad2 < cantidad1) { 
                        System.out.println("debes pujar mas alto que el primer pujador"); 
                    }else if(cantidad2 == cantidad1){ 
                        System.out.println("debes pujar diferente que el primer pujador"); 
            if(cantidad2==0){ 
            suma=cantidad1 + cantidad2; 
            System.out.println("la puja actual de " + productos.get(cont)+ " es " + suma+"€"); 
            while(!siono.equals("si") && !siono.equals("no") ){ 
                System.out.println("la puja actual de " + productos.get(cont)+ " es " + suma+"€"); 
                System.out.println("deseas pujar o pasar? Si o No"); 
                siono = sc.next().toLowerCase(); 
                if(!siono.equals("si") && !siono.equals("no")){ 
                   System.out.println("debes decir si o no"); 
            }else{ 
                while(!siono.equals("si") && !siono.equals("no") ){ 
                    System.out.println("la puja actual de " + productos.get(cont)+ " es " + cantidad2+"€"); 
                    System.out.println("deseas pujar o pasar? Si o No"); 
                    siono = sc.next().toLowerCase(); 
                     
                    if(!siono.equals("si") && !siono.equals("no") ){ 
                       System.out.println("debes decir si o no"); 
                }     
             
            if (siono.equals("si")) { 
                while (cantidad3 <= cantidad2 || cantidad3 <= cantidad1) { 
                    System.out.println("Introduzca cantidad el tercer comprador"); 
                    cantidad3 = sc.nextInt(); 
                    if (cantidad3 < cantidad2) { 
                        System.out.println("debes pujar mas alto que el segundo pujador"); 
                    }else if(cantidad3 == cantidad2){ 
                        System.out.println("debes pujar diferente que el segundo pujador"); 
                    }else if(cantidad3 == cantidad1){ 
                        System.out.println("debes pujar diferente que el primer pujador"); 
 
            if (cantidad1 > cantidad2 && cantidad1 > cantidad3) { 
                acumularprecio += String.valueOf(cantidad1) + " "; 
                acumularproducto += productos.get(cont) + " "; 
                System.out.println("el objeto "+productos.get(cont)+" vendido al "+" primer comprador"+" por "+cantidad1+"€"); 
            } else if (cantidad2 > cantidad1 && cantidad2 > cantidad3) { 
                acumularprecio2 += String.valueOf(cantidad2) + " "; 
                acumularproducto2 += productos.get(cont) + " "; 
                 
                System.out.println("el objeto "+productos.get(cont)+" vendido al "+" segundo comprador"+" por "+cantidad2+"€"); 
            } else if (cantidad3 > cantidad2 && cantidad3 > cantidad1) { 
                acumularprecio3 += String.valueOf(cantidad3) + " "; 
                acumularproducto3 += productos.get(cont) + " "; 
                System.out.println("el objeto "+productos.get(cont)+" vendido al "+" tercer comprador"+" por "+cantidad3+"€"); 
            cantidad1 = 0; 
            cantidad2 = 0; 
            cantidad3 = 0; 
            suma=0; 
            productos.remove(cont); 
            longitud = productos.size(); 
 
        if (longitud == 0) { 
            System.out.println("Se acabo la subasta"); 
            ternario1=(!acumularproducto.equals("")&& !acumularprecio.equals(""))?"El primer comprador hay comprado un "+acumularproducto+" con sus respectivos precios "+acumularprecio+"€": "El primer comprador no hay comprado nada" ; 
            ternario2=(!acumularproducto2.equals("")&& !acumularprecio2.equals(""))?"El segundo comprador hay comprado un "+acumularproducto2+" con sus respectivos precios "+acumularprecio2+"€" : "El segundo comprador no hay comprado nada" ; 
            ternario3=(!acumularproducto3.equals("")&& !acumularprecio3.equals(""))?"El tercer comprador hay comprado un"+acumularproducto3+" con sus respectivos precios "+acumularprecio3+"€": "El tercer comprador no hay comprado nada" ; 
            System.out.println(ternario1); 
            System.out.println(ternario2); 
            System.out.println(ternario3); 
 
 
 

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.