Como era uma coisa simples, eu preferi fazer em somente um arquivo, que não ficou desorganizado, mas que contém tudo que precisa em poucas linhas e também, porque não sabia que poderia usar as váriaveis criadas em outro arquivo com o next...()
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
Scanner leitura = new Scanner(System.in);
int continueOrNo;
System.out.println("Qual o limite do seu cartão de crédito?");
double limite = leitura.nextDouble();
leitura.nextLine();
List<String> listaDeCompras = new LinkedList<>();
List<Double> listaDePrecos = new LinkedList<>();
while(true) {
System.out.println("Qual item você deseja comprar?");
String item = leitura.nextLine();
System.out.println("Quanto esse item custa?");
double preco = leitura.nextDouble();
leitura.nextLine();
limite = limite - preco;
System.out.println("Deseja continuar? Se sim digite 0, se não, digite 1");
continueOrNo = leitura.nextInt();
leitura.nextLine();
if (preco > limite) {
System.out.println("Saldo insuficiente");
} else {
System.out.println("Compra realizada com sucesso!");
}
listaDeCompras.add(item);
listaDePrecos.add(preco);
Collections.sort(listaDePrecos);
switch (continueOrNo) {
case 1:
System.out.println("""
****************************
""");
System.out.println("* COMPRAS REALIZADAS: *");
System.out.println(" ");
for (int i = 0; i < listaDeCompras.size(); i++) {
System.out.printf("* %-15s R$ %7.2f *%n", listaDeCompras.get(i), listaDePrecos.get(i));
}
System.out.println(" ");
System.out.println("****************************");
System.out.println("" +
"Saldo restante: " + limite);
return;
case 0:
break;
}
}
}
}