Eu não consegui mudar o texto da lista e nem organizá-la. Segue o código:
Principal:
import br.com.compras.modelos.Lista;
import java.util.*;
public class Principal {
public static void main(String[] args) {
List listaDeCompras = new LinkedList();
Scanner leitura = new Scanner(System.in);
System.out.println("Digite o limite do cartão:");
double limite = leitura.nextDouble();
boolean sairDoDloop = true;
while (sairDoDloop) {
var Lista = new Lista();
System.out.println("O que você deseja comprar?");
Lista.setResposta(leitura.next());
System.out.println("Digite o valor da compra:");
Lista.setValor(leitura.nextDouble());
limite -= Lista.getValor();
listaDeCompras.add(Lista.getResposta());
listaDeCompras.sort(Comparator.comparingDouble(Lista::getValor));
if (Lista.getValor() <= limite) {
System.out.println("Digite 1 para continuar ou 0 para sair:");
int respostaParaSair = leitura.nextInt();
if (respostaParaSair == 1) {
sairDoDloop = true;
} else if (respostaParaSair == 0) {
sairDoDloop = false;
System.out.println("Saldo insuficiente!\n");
System.out.println("=-=-=-=-=-=-=-=-=-=-=-=-=");
System.out.println("Compras realizadas:\n");
System.out.println(listaDeCompras);
System.out.println("\n\"=-=-=-=-=-=-=-=-=-=-=-=-=\"\n");
System.out.println("Saldo: " + limite);
}
} else {
System.out.println("Saldo insuficiente!\n");
System.out.println("=-=-=-=-=-=-=-=-=-=-=-=-=");
System.out.println("Compras realizadas:\n");
System.out.println(listaDeCompras);
System.out.println("\n\"=-=-=-=-=-=-=-=-=-=-=-=-=\"\n");
System.out.println("Saldo: " + limite);
}
}
}
}
Lista:
package br.com.compras.modelos;
public class Lista {
String resposta;
double valor;
public String getResposta() {
return resposta;
}
public double getValor() {
return valor;
}
public void setResposta(String resposta) {
this.resposta = resposta;
}
public void setValor(double valor) {
this.valor = valor;
}
@Override
public String toString() {
return getResposta() + "-" + getValor();
}
public double getValor(Object valor) {
return getValor();
}
}
Alguma solução?