Mi Clase Compras:
public class Compras {
private String articulo;
private double precio;
public Compras(String articulo, double precio) {
this.articulo = articulo;
this.precio = precio;
}
public String getArticulo() {
return articulo;
}
public double getPrecio() {
return precio;
}
@Override
public String toString() {
return articulo + " - " + String.format("%.2f", precio);
}
}
Y mi Clase Principal:
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int continuar = 1;
double creditoDisponible = 0;
double importeTotal = 0;
String articulo = "";
double precio = 0;
List<Compras> listaDeCompras = new ArrayList<>();
System.out.print("\nIngresa tu crédito disponible: ");
creditoDisponible = sc.nextDouble();
while (true) {
if (continuar == 1) {
System.out.print("\nIngresa el artículo a comprar: ");
articulo = sc.next();
System.out.print("\nIngresa el precio: ");
precio = sc.nextDouble();
if (precio <= creditoDisponible) {
System.out.println("¡COMPRA REALIZADA!");
Compras c = new Compras(articulo, precio);
listaDeCompras.add(c);
creditoDisponible -= precio;
importeTotal += precio;
listaDeCompras.sort(Comparator.comparing(Compras::getPrecio));
System.out.println("\nPara seguir comprando ingresa 1, para finalizar tu compra ingresa 0");
continuar = sc.nextInt();
} else {
System.out.println("\nCRÉDITO INSUFICIENTE\n\n**********************************\nTUS COMPRAS:\n");
for (Compras compras : listaDeCompras) {
System.out.println(compras);
}
System.out.println("Total de tus compras: " + String.format("%.2f", importeTotal) + "\n**********************************\nCrédito disponible: " + String.format("%.2f", creditoDisponible) + "\n");
break;
}
if (continuar == 0) {
System.out.println("\n**********************************\nTUS COMPRAS:\n");
for (Compras compras : listaDeCompras) {
System.out.println(compras);
}
System.out.print("Total de tus compras: " + String.format("%.2f", importeTotal) + "\n**********************************\nCrédito disponible: " + String.format("%.2f", creditoDisponible) + "\n");
break;
}
}
}
}
}