1
resposta

Tentei

Bom foi até aqui que consegui chegar sozinho o restante eu realmente não consegui fazer mesmo tentando muito. Vou ver a resolução do projeto com a @Jac e tentar entender como poderia fazer o resto Fico feliz por ter chego até aqui é meu primeiro contato e estou gostando muito do que estou aprendendo.

package br.com.alura.screenmatch.Tasks.Atividade.Main;

import br.com.alura.screenmatch.Tasks.Atividade.modulo.Compra;

import java.util.LinkedList; import java.util.List; import java.util.Scanner;

public class Task8 { public static void main(String[] args) { System.out.println("===== Lets go shopping!! ===== \n");

    int opUser = 1;

    // Limite do catao
    System.out.println("Digite o limite do cartão: ");
    Scanner limite = new Scanner(System.in);
    double limiteDoCartao = limite.nextDouble();

    if (opUser > 1 && opUser < 0){
        System.out.println("Opção Errada!!");

    } else {
        while (opUser != 0){
            // O que será comprado
            System.out.println("Digite a descrição da compra: ");
            Scanner item = new Scanner(System.in);
            String itemCompra = item.nextLine();

            // Valor do produto comprado
            System.out.println("Digite o valor da compra");
            Scanner price = new Scanner(System.in);
            double priceProduto = price.nextDouble();

            // Adicionando os inputs no objeto
            Compra compra = new Compra(limiteDoCartao, itemCompra, priceProduto);

            boolean compraRealizada = compra.lancaCompra(compra);

            if (compraRealizada){
                System.out.println("\nCompra realizada!!\n");

                // Cria um ArrayList
                List<Compra> compraFinal = new LinkedList<>();

                // Adiciona o objeto no ArrayList
                compraFinal.add(compra);
            } else {
                System.out.println("Saldo insuficiente!!");
            }


            System.out.println("""
            Digite:
     
            [0] - Sair
            [1] - Continuar
                    
             """);

            Scanner op = new Scanner(System.in);
            opUser = op.nextInt();
        }
    }
}

}

package br.com.alura.screenmatch.Tasks.Atividade.modulo;

public class Compra { private double limite; private String produto; private double price;

public Compra(double limite, String produto, double price) {
    this.limite = limite;
    this.produto = produto;
    this.price = limite;
}

public boolean lancaCompra(Compra compra){
    if (this.price > compra.getLimete()){
        this.price -= compra.getLimete();
        return true;
    } else {
        return false;
    }
}

public double getLimete() {
    return limite;
}

public String getProduto() {
    return produto;
}

public double getPrice() {
    return price;
}

@Override
public String toString() {
    return "Compra feita: " + "[ Produto: " + this.getProduto() + " ] " + " [ " + " Valor: " + getPrice() + " ] " + " [ " + "Limite: " + getLimete() + " ] ";

}

}

1 resposta

Oi, Matheus. Tudo bem?

Obrigada por compartilhar seu código com a gente. Gostei de como você estruturou o seu menu de compras e a forma como está lidando com o limite do cartão. Isso é uma parte essencial da lógica da aplicação.

Parabéns por ir tão longe e por praticar tentando fazer sozinho.

Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!