public class Listas {
String nome;
int valor;
public String getNome() {
return nome;
}
public int getValor() {
return this.valor;
}
public Listas(String nome, int valor) {
this.nome = nome;
this.valor = valor;
}
@Override
public String toString() {
return "Nome: " + this.nome + " (Valor: " + this.valor + ")";
}
}
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);
System.out.println("Realizando compras!");
System.out.println("Digite o limite de credito do seu cartão!");
int limiteCredito = sc.nextInt();
sc.nextLine();
String nomeProduto;
int valorProduto;
List<Listas> listaProduto = new ArrayList<>();
while (true){
System.out.println("Digite o nome do produto: ");
nomeProduto = sc.nextLine();
System.out.println("Digite o valor do produto: ");
valorProduto = sc.nextInt();
if (limiteCredito >= valorProduto){
listaProduto.add(new Listas(nomeProduto, valorProduto));
limiteCredito -= valorProduto;
System.out.println("Compra realizada com sucesso!");
System.out.println("*".repeat(50));
if(limiteCredito == 0){
System.out.println("Compras realizadas:");
listaProduto.sort(Comparator.comparing(Listas::getValor));
for (Listas lista : listaProduto) {
System.out.println(lista);
}
break;
}
}else {
System.out.println("Valor insuficiente!");
System.out.println("*".repeat(50));
System.out.println("Compras realizadas:");
for (Listas lista : listaProduto) {
System.out.println(lista);
}
break;
}
System.out.println("Digite 1 para continuar ou 0 para sair");
int validacao = sc.nextInt();
sc.nextLine();
if (validacao == 1){
continue;
}else {
System.out.println("Programa encerrado!");
System.out.println("*".repeat(50));
System.out.println("Compras realizadas:");
listaProduto.sort(Comparator.comparing(Listas::getValor));
for (Listas lista : listaProduto) {
System.out.println(lista);
}
break;
}
}
sc.close();
}
}