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

brinquem com os Codigos isso irá ajudar muito vocês.

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
class ItemCarrinho {
String nome;
double preco;
int quantidade;

double calcularTotal() {
    return preco * quantidade;
}

public static void main(String[] args) {

   Scanner scanner = new Scanner(System.in);
    System.out.print("Olá, Porfavor Digite Seu nome: ");
    String nome = scanner.nextLine();


    ItemCarrinho i1 = new ItemCarrinho();
    i1.nome = "Teclado siwth marrom target";
    i1.preco = 180.0;
    i1.quantidade = 1;

    ItemCarrinho i2 = new ItemCarrinho();
    i2.nome = "Mouse gamer led 16k dpi";
    i2.preco = 60.0;
    i2.quantidade = 1;

    ItemCarrinho i3 = new ItemCarrinho();
    i3.nome = "Mesa";
    i3.preco = 150;
    i3.quantidade = 1;

    ItemCarrinho i4 = new ItemCarrinho();
    i4.nome = "Pc gamer";
    i4.preco = 2000;
    i4.quantidade = 1;

    ItemCarrinho i5 = new ItemCarrinho();
    i5.nome = "Mouse pad led";
    i5.preco = 80;
    i5.quantidade = 2;

    ItemCarrinho i6 = new ItemCarrinho();
    i6.nome = "Monitor LG UHD";
    i6.preco = 600;
    i6.quantidade = 1;

    ItemCarrinho i7 = new ItemCarrinho();
    i7.nome = "Controle Gamer Ipega";
    i7.preco = 400;
    i7.quantidade = 1;

    ItemCarrinho i8 = new ItemCarrinho();
    i8.nome = "Quadro do Coringa";
    i8.preco = 200;
    i8.quantidade = 2;

    List<ItemCarrinho> carrinho = new ArrayList<>();
    carrinho.add(i1);
    carrinho.add(i2);
    carrinho.add(i3);
    carrinho.add(i4);
    carrinho.add(i5);
    carrinho.add(i6);
    carrinho.add(i7);
    carrinho.add(i8);

    double totalCompra = 0;
    for (ItemCarrinho item : carrinho) {
        totalCompra += item.calcularTotal();
    }

    System.out.printf("Total da compra: R$ %.2f\n", totalCompra);

    System.out.print("Parabens! " + nome + " você Gastou muito");
}

}
.Eu criei esse grande Carrinho de compras e da pra colocar mais algoritmos intuitivos exemplo: um login como Segurança, colocar desconto

1 resposta

Olá Thiago,
Parabéns pela iniciativa de expandir o exercício além do que foi solicitado. Seu código já demonstra que você está explorando conceitos importantes como criação de objetos, listas, laços de repetição e métodos. Esse tipo de curiosidade faz muita diferença no aprendizado, pois é justamente quando começamos a modificar os exemplos que realmente entendemos como as coisas funcionam.
No seu projeto, você já conseguiu montar um carrinho com diversos produtos e calcular o valor total da compra. A partir daí, existem várias funcionalidades que podem ser adicionadas para praticar ainda mais Orientação a Objetos. Algumas ideias interessantes seriam implementar um sistema de desconto baseado no valor total da compra, criar uma classe separada para representar o cliente, permitir que o usuário escolha quais produtos adicionar ao carrinho pelo teclado, calcular frete, gerar uma nota fiscal simples ou até mesmo criar um sistema de login para liberar determinadas operações.
Outro ponto interessante é que você pode começar a aplicar alguns conceitos de organização do código. Atualmente a classe ItemCarrinho está acumulando a responsabilidade dos itens e também da execução do programa. Conforme o projeto cresce, vale a pena criar classes separadas como Cliente, CarrinhoDeCompras e Produto. Essa separação é um dos pilares da Orientação a Objetos e ajuda bastante na manutenção do código.
Uma evolução natural do seu projeto seria criar um construtor para os produtos, evitando repetir tantas atribuições manualmente. Isso deixa o código mais limpo e mais próximo do que encontramos em projetos profissionais.
Continue exatamente com essa mentalidade de "brincar" com os códigos. Muitos desenvolvedores aprendem apenas reproduzindo aulas, mas a evolução mais rápida acontece quando você começa a testar ideias próprias, adicionar funcionalidades e até provocar erros para entender o comportamento da linguagem.
Cada melhoria que você implementa é uma oportunidade de praticar lógica, modelagem de objetos e organização de código.
Avise qualquer duvida.
Bons estudos.