import java.util.Scanner;
public class ContaBancaria {
//conta do cliente.
static String nomeUsuario = "Leonardo Santos";
static String tipoConta = "Corrente";
static double saldo = 1000;
static Scanner input = new Scanner(System.in);
//informações básicas da conta.
public static void dadosCliente() {
System.out.println("\n**************************");
System.out.println("Dados do Cliente: ");
System.out.printf("Nome: %s\n", nomeUsuario);
System.out.printf("Tipo de conta: %s\n", tipoConta);
System.out.printf("Saldo inicial: R$ %.2f\n", saldo);
System.out.print("**************************");
}
//Opções que vão ser mostradas na tela.
public static void console() {
System.out.println("\n\nOperações");
System.out.println("\n1- Consultar saldo");
System.out.println("2- Depositar valor");
System.out.println("3- Sacar valor");
System.out.println("4- Sair");
System.out.print("\nDigite a opção desejada: ");
}
//mostra o saldo atual na tela.
public static void consultaSaldo(double saldo) {
System.out.printf("\nSaldo atual: %.2f", saldo);
}
//adiciona um valor na conta.
public static void deposita() {
System.out.print("Digite o valor que deseja depositar: ");
double valor = input.nextDouble();
saldo += valor;
System.out.printf("\nSaldo atualizado: R$ %.2f", saldo);
}
//subtrai um valor da conta. Se o valor for maior do que o saldo, imprime um erro.
public static void saca() {
System.out.print("Informe o valor que deseja sacar: ");
double valor = input.nextDouble();
if (valor > saldo) {
System.out.print("\nSaldo insuficiente.");
} else {
saldo -= valor;
System.out.printf("\nSaldo atualizado: R$ %.2f", saldo);
}
}
public static void main(String[] args) {
dadosCliente();
while(true) {
console();
int opcao = input.nextInt();
if (opcao == 1) {
consultaSaldo(saldo);
} else if (opcao == 2) {
deposita();
} else if (opcao == 3) {
saca();
} else if (opcao == 4) {
break;
} else {
System.out.print("\nOpção inválida.");
}
}
}
}
Minha resolução do desafio. Coloquei quase tudo em métodos separados, deixando o Main mais enxuto. Acho que assim ficou mais bonitinho de ler rsrs. Passei os dados do cliente por meio de variáveis globais, mas entendo que não é a melhor maneira de implementação de uma conta bancária por questões de segurança.