Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Controle de saldo bancário

Olá!

Segue minha resolução:

  • Criação da classe conta com os dados e relacionados a conta e os métodos para depósito e saque:
package br.com.exercicios.alura;
public class Conta {

    private String cliente;
    private double saldo;

    public Conta(String cliente, double saldo) {
        this.cliente = cliente;
        this.saldo = saldo;
    }

    public String getCliente() {
        return cliente;
    }

    public void setCliente(String cliente) {
        this.cliente = cliente;
    }

    public double getSaldo() {
        return saldo;
    }

    public void setSaldo(double saldo) {
        this.saldo = saldo;
    }

    public void deposito (double valorDepositado) {

        if(valorDepositado > 0){
            saldo +=valorDepositado;
            System.out.printf("Valor depositado com sucesso!" +
                    "\nSaldo de %s atual: R$%.2f",cliente, saldo);
        } else {
            System.out.println("Valor Inválido!");
        }


    }

    public void saque(double valorSaque){

        if (valorSaque <= 0){
                System.out.println("Valor do saque deve ser maior do que zero!");
                return;
        }

        if  (saldo < valorSaque){
            System.out.printf("Saldo insuficiente!" +
                    "\nSaldo %s atual: R$%.2f",cliente,saldo);
        } else {
            saldo -= valorSaque;
            System.out.printf("Transação realizada com sucesso!" +
                    "\nSaldo de %s atual: R$%.2f",cliente,saldo);
        }

    }
}
  • Main para rodar a aplicação:
package br.com.exercicios.alura;

import java.util.InputMismatchException;
import java.util.Scanner;

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

        Scanner sc = new Scanner(System.in);

        Conta cliente = new Conta("Ana", 1200.00);
        String continuar = "Sim";

        ;
        while (continuar.equalsIgnoreCase("sim")) {
            System.out.println("Informe a operação que você deseja realizar:" +
                    "\n1 - Depósito" +
                    "\n2 - Saque");
            String opcao = sc.nextLine();

            while (!"1".equals(opcao) && !"2".equals(opcao)) {
                System.out.println("Favor escolha uma opção válida!");
                opcao = sc.nextLine();

            }

            if (opcao.equals("1")) {
                double valorDepositado = 0;
                while (true) {
                    try {
                        System.out.println("Digite o valor do depósito: ");
                        valorDepositado = sc.nextDouble();
                        sc.nextLine();
                        cliente.deposito(valorDepositado);
                        break;
                    } catch (InputMismatchException e) {
                        System.out.println("Valor depositado deve ser um número!");
                        sc.nextLine();
                    }
                }

            } else {
                double valorSaque = 0;
                while (true) {
                    try {
                        System.out.println("Digite o valor do saque: ");
                        valorSaque = sc.nextDouble();
                        sc.nextLine();
                        cliente.saque(valorSaque);
                        break;
                    } catch (InputMismatchException e) {
                        System.out.println("Valor do saque deve ser um número!");
                        sc.nextLine();
                    }
                }
            }

            System.out.println("\nDeseja fazer uma nova operação?(Sim/Não)");
            continuar = sc.nextLine();

            while (!continuar.equalsIgnoreCase("sim") && !continuar.equalsIgnoreCase("não")) {
                System.out.println("Digite uma opção válida");
                continuar = sc.nextLine();
            }


        }
        System.out.println("Atendimento finalizado! Obrigado por utilizar os nossos serviços!");
    }

}


1 resposta
solução!

Oi, Victor!

Parabéns por concluir mais essa atividade! A implementação do menu interativo com o while e o tratamento de erros usando try-catch para garantir que o usuário digite números válidos deixou o seu projeto com uma carinha muito profissional. Mandou muito bem!

Bons estudos!

Sucesso

Imagem da comunidade