Queria saber se minha solução é boa, ficou extremamente diferente do dela kkkkkkkk.
package br.com.desafio;
public class MinhaCompra implements Comparable<MinhaCompra> {
double valorCompra;
String nome;
@Override
public String toString() {
return this.nome + " - " + this.valorCompra;
}
@Override
public int compareTo(MinhaCompra outraCompra) {
return Double.valueOf(this.valorCompra).compareTo(Double.valueOf(outraCompra.valorCompra));
}
}
package br.com.desafio;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Principal{
public static void main(String[] args) {
Scanner leitura = new Scanner(System.in);
int continua = 1;
double saldo;
ArrayList<MinhaCompra> listaCompra = new ArrayList<>();
System.out.println("Digite o limite do seu cartão:");
saldo = leitura.nextDouble();
while(continua != 0){
MinhaCompra minhaCompra = new MinhaCompra();
System.out.println("Digite a descrição do produto:");
minhaCompra.nome = leitura.next();
System.out.println("Digite o valor da compra:");
minhaCompra.valorCompra = leitura.nextDouble();
if (saldo < minhaCompra.valorCompra) {
System.out.println("Saldo insuficiente!");
break;
} else {
saldo -= minhaCompra.valorCompra;
listaCompra.add(minhaCompra);
System.out.println("Compra realizada!");
}
System.out.println("Digite 0 para sair e 1 para continuar");
continua = leitura.nextInt();
if(continua == 0){
break;
}
}
System.out.println("***********************");
System.out.println("COMPRA REALIZADA: ");
System.out.println();
Collections.sort(listaCompra);
for (MinhaCompra compra : listaCompra) {
System.out.println(compra);
}
System.out.println();
System.out.println("***********************");
System.out.println();
System.out.println("Saldo do cartão:" + saldo);
}
}