Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

exercicio-carrinho de compras

import java.util.ArrayList;
import java.util.Scanner;

public class Principal {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        ArrayList<Produto> listaDeProdutos=new ArrayList<>();
        Produto prod1=new Produto("oculos",110);
        Produto prod2=new Produto("colher",20);
        Produto prod3=new Produto("mochila",150);
        Produto prod4=new Produto("copo",60);
        Produto prod5=new Produto("mouse",300);
        listaDeProdutos.add(prod1);
        listaDeProdutos.add(prod2);
        listaDeProdutos.add(prod3);
        listaDeProdutos.add(prod4);
        listaDeProdutos.add(prod5);



        int valorCarrinho=0;
        boolean comprando=true;
        while(comprando) {
            int i=0;
            for(Produto produto:listaDeProdutos){
                i++;
                System.out.println("produto "+i+": "+produto.getNome());
                System.out.println("preço: "+produto.getPreco()+" R$");
                System.out.println("----------------------");

            }
            System.out.println("qual produto voce quer (1 a 5) ou 0 para finzalizar)?");
            int item = scanner.nextInt();
            if (item == 0) {
                comprando=false;
            }
            else if(item>=1 && item<=5) {
                Produto escolhido = listaDeProdutos.get(item - 1);

                System.out.println("qual a quantidade?");
                int qtd = scanner.nextInt();
                escolhido.setQuantidade(qtd);
                System.out.println("\ncompra realizada!");
                System.out.println("valor total: " + escolhido.valorTotal() + "\n");
                valorCarrinho += escolhido.valorTotal();
            }

            else{
                System.out.println("\nnumero invalido!\n");

            }

        }

        System.out.println("valor total do carrinho: "+valorCarrinho);
        }

    }
public class Produto {
    String nome;
    double preco;
    int quantidade;
    public Produto(String nome,double preco){
        this.nome=nome;
        this.preco=preco;
    }

    public String getNome() {
        return nome;
    }

    public void setQuantidade(int quantidade) {
        this.quantidade = quantidade;
    }

    public double getPreco() {
        return preco;
    }

    public int getQuantidade() {
        return quantidade;
    }

    public double valorTotal(){
        return quantidade*preco;
    }
}
1 resposta

Olá, Felipe. Tudo certo?

Seu código apresenta uma implementação correta para o exercício do carrinho de compras, com as classes Produto e Principal bem organizadas e funcionando em conjunto para adicionar produtos, selecionar quantidades e calcular o valor total.

Poderia experimentar criar uma classe Carrinho que gerencia os produtos adicionados e seus totais, abstraindo essa lógica da classe Principal, o que facilitaria manutenção e extensão futura do projeto. Você também pode pensar em apresentar o resumo de produtos no carrinho antes de finalizar, para melhorar a experiência de compra.

Como você acha que poderia organizar o código para permitir a remoção de produtos do carrinho, mantendo a lógica atual?

Parabéns pelo esforço até aqui, e continue contando com o fórum para qualquer dúvida.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!