1
resposta

Desafio

package Desafio9;

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

public class Principal {
    public static void main(String[] args) {
        Scanner ler = new Scanner(System.in);
        int opcao = 0;
        int carrinho = 0;

        Desafio item1 = new Desafio();
        item1.setItem("Sapato");
        item1.setValorItem(150);

        Desafio item2 = new Desafio();
        item2.setItem("Controle de Ps5");
        item2.setValorItem(500);

        List<Desafio> lista = new ArrayList<>();

        MeuSaldo saldoConta = new MeuSaldo();

        System.out.println("Digite seu saldo inicial: ");
        double saldoInicial = ler.nextDouble();
        saldoConta.definirSaldo(saldoInicial);


        while (opcao != 4) {
            System.out.println("""
                    Digite a opção: 
                    1 - Uma nova Compra
                    2 - Carrinho
                    3 - Meu saldo atual
                    4 - sair
                    """);
            opcao = ler.nextInt();

            switch (opcao) {
                case 1: {
                    System.out.println("Voce tem a opção 1: " + item1 + " e a opção 2: " + item2);
                    System.out.println("Oque vc quer comprar: ");
                    carrinho = ler.nextInt();
                    if (carrinho == 1) {
                        lista.add(item1);
                        saldoConta.debitar(item1.getValorItem());
                    } else if (carrinho == 2) {
                        lista.add(item2);
                        saldoConta.debitar(item2.getValorItem());
                    } else {
                        System.out.println("Opção invalida");
                    }
                    System.out.println("Quer escolher outra coisa?");
                    System.out.println("sim = 1 e não = 2 ");
                    int leitura = ler.nextInt();
                    if (leitura == 1) {
                        break;
                    } else if (leitura == 2) {
                        break;
                    }
                    break;
                }
                case 2: {
                    if (lista.isEmpty()) {
                        System.out.println("Carrinho Vazio");
                    } else {
                        for (Desafio item : lista) {
                            System.out.println("No carrinho " + item.getItem());
                            System.out.println("Valor " + item.getValorItem());
                        }
                    }
                    break;
                }
                case 3: {
                    saldoConta.exibirGasto();
                    break;
                }
                case 4: {
                    return;
                }

            }

        }
    }
}
package Desafio9;

import java.util.Scanner;

public class MeuSaldo {
    private double meuSaldo;

    public void definirSaldo(double valor) {
        this.meuSaldo = valor;
    }

    public double getMeuSaldo() {
        return meuSaldo;
    }

    public void setMeuSaldo(double meuSaldo) {
        this.meuSaldo = meuSaldo;
    }

    public void exibir() {
        Scanner ler = new Scanner(System.in);
        System.out.println("Informe o saldo da sua conta: ");
        ler.nextDouble();
    }

    public void debitar(double valor) {
        if (valor <= meuSaldo) {
            meuSaldo -= valor;

            System.out.println("Compra realizada com sucesso");
        } else {
            System.out.println("Saldo insuficiente");
        }

    }
    public void exibirGasto() {
        System.out.println("Saldo atual é: " + meuSaldo);
    }
}
package Desafio9;

public class Desafio {
    private String item;
    private double valorItem;


    public String getItem() {

        return item;
    }

    public void setItem(String item) {

        this.item = item;
    }

    public double getValorItem() {

        return valorItem;
    }

    public void setValorItem(double valorItem) {

        this.valorItem = valorItem;
    }

    @Override
    public String toString() {

        return this.item + " Custa " + this.valorItem;
    }
}
1 resposta

Oi, Alfredo! Como vai?

Agradeço por compartilhar.

Gostei da sua solução para o desafio, do jeito que você explicou fica claro o uso de listas, condicionais e a separação de responsabilidades entre as classes, o que é importante no curso de Java trabalhando com coleções. Seu fluxo de compra, carrinho e controle de saldo mostra um bom entendimento da proposta da atividade.

Continue praticando desse jeito, pois esse tipo de exercício ajuda muito a ganhar segurança com a linguagem.

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