Não Consegui deixar por ordem de valor... Ficaria agradecido se me desse alguma dica
package br.com.compras.loja;
public class Compra {
private String nomeProduto;
private double valorProduto;
private double cartao;
public void setNomeProduto(String nomeProduto) {
this.nomeProduto = nomeProduto;
}
public void setValorProduto(double valorProduto) {
this.valorProduto = valorProduto;
}
public void setCartao(double cartao) {
this.cartao = cartao;
}
public String getNomeProduto() {
return nomeProduto;
}
public double getProduto() {
return valorProduto;
}
public double getCartao() {
return cartao;
}
public void calculo() {
if (valorProduto > cartao) {
System.out.println("Saldo insuficiente ");
} else {
cartao = cartao - valorProduto;
System.out.println(nomeProduto + " " + valorProduto);
System.out.println("Saldo do cartao: " + cartao);
}
}
@Override
public String toString() {
return this.getNomeProduto();
}
}
import br.com.compras.loja.Compra;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
var compra = new Compra();
Scanner sc = new Scanner(System.in);
ArrayList<String> listaProdutos = new ArrayList<>();
int opcao;
double totalCompra = 0;
do {
System.out.println("1 - Limite");
System.out.println("2 - Fazer compras ");
System.out.println("0 - sair ");
opcao = sc.nextInt();
switch (opcao) {
case 1:
System.out.println("Digite o limite do cartõo: ");
double valorCartao = sc.nextDouble();
compra.setCartao(valorCartao);
break;
case 2:
if(compra.getCartao() > 0){
System.out.println("Digite a descrição da compra: ");
String descricao = sc.next();
compra.setNomeProduto(descricao);
System.out.println("Digite o valor da Compra: ");
double comp = sc.nextDouble();
compra.setValorProduto(comp);
compra.calculo();
listaProdutos.add(compra.getNomeProduto() + "\nValor da comppra: " + compra.getProduto());
totalCompra += compra.getProduto();
}else {
System.out.println("Definir o limite primeiro...");
}
break;
case 0:
Collections.sort(listaProdutos);
for (String item : listaProdutos) {
System.out.println("Descricão da compra: " + item );
}
System.out.println("\nValor total da Compra: "+ totalCompra);
System.out.println("\nSaindo. . .");
break;
default:
System.out.println("Opçao invalida");
}
}while (opcao != 0);
sc.close();
}
}