2
respostas

Projeto Final de Curso

Projeto Final

Classe Main
import java.util.*;


public class Main {
    public static void main(String[] args) {
        Scanner mainSc = new Scanner(System.in);

        ArrayList<Compras> listaDoMenu = new ArrayList<>();

        Compras headset = new Compras("HeadSet Fallen", 500);
        Compras mouse = new Compras("Mouse Pantera", 200);
        Compras mousepad = new Compras("Mousepad da Lina DOTA 2", 350);
        Compras monitor = new Compras("Monitor benQ 244hz", 1000);

        listaDoMenu.add(headset);
        listaDoMenu.add(mouse);
        listaDoMenu.add(mousepad);
        listaDoMenu.add(monitor);

        Compras menu = new Compras("Menu", 0001);

        ArrayList<Compras> listaDoCarrinho = new ArrayList<>();

        menu.mostrarMenuPrincipal();
        menu.getEscolhaMenuPrincipal();
        while (menu.getEscolhaMenuPrincipal() != 4) {
            if (menu.getEscolhaMenuPrincipal() == 1) {
                int numberLista = 1;
                for (Compras c : listaDoMenu) {
                    System.out.println(numberLista + " - " + c.getNome() + " R$" + c.getPreco());
                    numberLista++;
                }
                System.out.println("Voltar [MENU PRINCIPAL] [DIGITE 5]");
                System.out.println("\nVamo levar o que hoje?\n");
                int valorCompraDesejada = mainSc.nextInt();

                switch (valorCompraDesejada) {
                    case 1:
                        if (menu.getPreco() > menu.getValorEmCarteira()) {
                            System.out.println("Valor Muito alto, adicione creditos.");
                            menu.getEscolhaMenuPrincipal();
                            break;
                        }
                        menu.setValorEmCarteira(500);
                        int valorHeadset = 500;
                        System.out.println("HeadSet Fallen foi Comprado pelo valor de RS" + valorHeadset + " - Nova valor na Conta de " + menu.getValorEmCarteira());
                        listaDoCarrinho.add(headset);
                        break;
                    case 2:
                        if (200 > menu.getValorEmCarteira()) {
                            System.out.println("Valor Muito alto, adicione creditos.");
                            break;
                        }
                        menu.setValorEmCarteira(200);
                        int valorMouse = 200;
                        System.out.println("Mouse Pantera foi Comprado pelo valor de RS" + valorMouse + " - Nova valor na Conta de " + menu.getValorEmCarteira());
                        listaDoCarrinho.add(mouse);
                        break;
                    case 3:
                        if (350 > menu.getValorEmCarteira()) {
                            System.out.println("Valor Muito alto, adicione creditos.");
                            break;
                        }
                        menu.setValorEmCarteira(350);
                        int valorMousePad = 350;
                        System.out.println("Mousepad da Lina da Dota 2 foi Comprado pelo valor de RS" + valorMousePad + " - Nova valor na Conta de " + menu.getValorEmCarteira());
                        listaDoCarrinho.add(mousepad);
                        break;
                    case 4:
                        if (1000 > menu.getValorEmCarteira()) {
                            System.out.println("Valor Muito alto, adicione creditos.");
                            break;
                        }
                        menu.setValorEmCarteira(1000);
                        int valorMonitor = 1000;
                        System.out.println("Monitor benQ 244hz foi Comprado pelo valor de RS" + valorMonitor + " - Nova valor na Conta de " + menu.getValorEmCarteira());
                        listaDoCarrinho.add(monitor);
                        break;
                    case 5:
                        System.out.println("Voltando Menu Principal");
                        menu.mostrarMenuPrincipal();
                }

            } else if (menu.getEscolhaMenuPrincipal() == 2) {
                if (listaDoCarrinho.isEmpty()) {
                    System.out.println("Seu carrinho tá vazio, faça compras!! 150% JUROS INLIMITADO NO CARTÃO ALURAPAY4EZ");
                    menu.mostrarMenuPrincipal();
                }
                Collections.sort(listaDoCarrinho);
                System.out.println(listaDoCarrinho);

                break;
            }
        }
    }


}
2 respostas
Classe Compras

import java.util.Scanner;

public class Compras implements Comparable<Compras> {
    private String nome;
    private double preco;
    private Scanner sc = new Scanner(System.in);
    private int escolhaMenu;
    private double valorEmCarteira;



    public Compras(String nome, double preco) {
        this.nome = nome;
        this.preco = preco;
    }

    public double getPreco() {
        return preco;
    }

    public String getNome() {
        return nome;
    }



    public int mostrarMenuPrincipal(){
        System.out.println("1 - Compras");
        System.out.println("2 - Carrinho");
        System.out.println("3 - [Adicionar Dinheiro!]");
        System.out.println("4 - Sair");

        int input = sc.nextInt();
        switch(input){
            case 1:
                System.out.println("Direciando a Lista de itens...(75%...)");
                return escolhaMenu = 1;
            case 2:
                System.out.println("Carregando Carrinho...(25%....)");
                return escolhaMenu = 2;
            case 3:
                System.out.println("Confirma o Pix no valor de? (Digite o valor que Deseja!)");
                double valorCarteira = sc.nextDouble();
                valorEmCarteira += valorCarteira;
                System.out.println("Você tem R$" + valorEmCarteira);
                break;
            case 4:
                System.out.println("Sair");
                return escolhaMenu = 4;
            default:
                System.out.println("Digite uma opção válida! (Entre 1 e 4)");
                mostrarMenuPrincipal();
                break;
        }
        return mostrarMenuPrincipal();
    }

    public int getEscolhaMenuPrincipal() {
        return escolhaMenu;
    }

    @Override
    public String toString() {
        return nome + " - Preço " + preco + "\n";
    }


    @Override
    public int compareTo(Compras outrosValores) {
        return Double.compare(this.preco, outrosValores.getPreco());
    }

    public double getValorEmCarteira() {
        return valorEmCarteira;
    }

    public void setValorEmCarteira(double valorEmCarteira) {
        this.valorEmCarteira -= valorEmCarteira;
    }

}

Olá Pedro!

Muito bom!

Continue os estudos e, principalmente, praticando.

Bons estudos!