0
respostas

[Projeto] Lucas Bargas - Minha solução

import java.util.Scanner;

public class App {
  public static void main(String[] args) throws Exception {
    @SuppressWarnings("resource")
    Scanner reading = new Scanner(System.in);
    double balance = 0;
    int accountType = 0;
    int operation = 0;

    System.out.println("Digite o seu nome:");
    String name = reading.nextLine();

    System.out.println("Qual o tipo da sua conta?");
    System.out.println("1. Corrente");
    System.out.println("2. Poupança");

    while (accountType == 0 || accountType > 2) {
      accountType = reading.nextInt();

      if (accountType >= 1 && accountType < 3) {
        String resumeInitialInfo = String.format("""
        Dados iniciais do cliente:

        Nome: %s
        Tipo de conta: %s
        Saldo inicial: R$ %s
        **********************************************
        """, name, accountType == 1 ? "Corrente" : "Poupança", balance);

        System.out.println(resumeInitialInfo);

        while (operation >= 0) {
          double value = 0;

          String operationMessage= """

          Operações

          1 - Consultar saldo
          2 - Depositar valor
          3 - Transferir valor
          4 - Sair

          Digite a opção desejada:""";

          System.out.println(operationMessage);
          operation = reading.nextInt();

          if (operation == 1) {
            System.out.println(String.format("Seu saldo atual é de R$ %s reais", balance));
            operation = 1;

          } else if (operation == 2) {
            System.out.println("Qual o valor que deseja depositar?");
            value = reading.nextDouble();
            System.out.println(String.format("Você acaba de depositar R$ %s reais.", value));
            balance += value;
            operation = 2;

          } else if (operation == 3) {
            System.out.println("Qual o valor que deseja transferir?");
            value = reading.nextInt();

            if (value <= 0) {
              System.out.println("Defina um valor para transferência.");
            } else if (value > balance) {
              System.out.println("Saldo insuficiente para transferir :(");
            } else {
              System.out.println(String.format("Você acaba de transferir R$ %s reais.", value));
              balance -= value;
            }

            operation = 3;

          } else if (operation == 4) {
            System.out.println("Até mais!");
            operation = 4;
            break;

          } else {
            System.out.println("Operação inválida!");
          }
        }

      } else {
        System.out.println("Tipo inválido! Tente novamente.");
      }
    }
  }
}