import modelo.Cliente;
import modelo.Tienda;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Cliente cliente = new Cliente();
ArrayList<Tienda> compras = new ArrayList<>();
System.out.println("Ingresa tu saldo");
cliente.setSaldo(sc.nextInt());
int opcion = 1;
while (cliente.getSaldo() > 0 && opcion == 1) {
Tienda tienda = new Tienda();
System.out.println("Ingrese el producto que desea comprar");
tienda.setCompra(sc.next());
System.out.println("Ingrese el precio del producto");
tienda.setPrecio(sc.nextInt());
if(cliente.comprar(tienda.getPrecio())){
System.out.println("Compra realizada");
compras.add((tienda));
}else {
System.out.println("sin fondos suficientes");
break;
}
System.out.println("¿Deseas seguir comprando? 1 = si 2 = no");
opcion = sc.nextInt();
}
Collections.sort(compras);
for (Tienda producto : compras) {
System.out.println(producto);
}
System.out.println("te quedo un total de " + cliente.getSaldo());
}
}
package modelo;
public class Tienda implements Comparable<Tienda>{
private int precio;
private String descripcion;
private int descuento;
private String compra;
// @Override
// public Tienda (int precio, String descripcion){
// return;
// }
public String getDescripcion() {
return descripcion;
}
public int getPrecio() {
return precio;
}
public void setPrecio(int precio) {
this.precio = precio;
}
public String getCompra() {
return compra;
}
public void setCompra(String compra) {
this.compra = compra;
}
public int getDescuento() {
return descuento;
}
public void setDescuento(int descuento) {
this.descuento = descuento;
}
@Override
public int compareTo(Tienda otra) {
return this.precio - otra.precio;
}
@Override
public String toString() {
return compra + " -$" + precio;
}
}
package modelo;
public class Cliente {
private int saldo;
public int getSaldo() {
return saldo;
}
public void setSaldo(int saldo) {
this.saldo = saldo;
}
public boolean comprar(int precio){
if(saldo >= precio){
saldo -= precio;
return true;
}else {
return false;
}
}
}