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!");
}
}