2
The user starts by putting a name to the account and the initial balance, here already has a problem, I want it is not possible to enter negative values or broken numbers
In the deposit option I also want to make it impossible to type negative numbers or broken numbers.
No serve precise do not let enter the broken and negative numbers again, no serve if I enter a negative number it adds with the balance you have in the account type: I drew -1 and I have 10 balance, the balance you will have after the serve and 11.
Class Caixa
, where you enter the initial name and balance:
import java.util.Scanner;
import java.util.Random;
public class Caixa {
public static void main(String[] args){
// Declarando as variáveis, Scanner e Random
String nome;
double inicial;
Scanner entrada = new Scanner(System.in);
Random numero = new Random();
int conta = 1 + numero.nextInt(9999);
//Obtendo os dados iniciais do Cliente
System.out.println("Cadastrando novo cliente.");
System.out.print("Ente com seu nome: ");
nome = entrada.nextLine();
System.out.print("Entre com o valor inicial depositado na conta: ");
inicial = entrada.nextDouble();
//Criando a conta de um cliente
Conta minhaConta = new Conta(nome, conta, inicial);
minhaConta.iniciar();
}
}
Class Conta
, performs the actions of depositing, withdrawing and extract:
import java.util.Scanner;
public class Conta {
private String nome;
private int conta, saques;
private double saldo;
Scanner entrada = new Scanner(System.in);
public Conta(String nome, int conta, double saldo_inicial){
this.nome=nome;
this.conta=conta;
saldo=saldo_inicial;
saques=0;
}
public void extrato(){
System.out.println("\tEXTRATO");
System.out.println("Nome: " + this.nome);
System.out.println("Número da conta: " + this.conta);
System.out.printf("Saldo atual: %.2f\n",this.saldo);
System.out.println("Saques realizados hoje: " + this.saques + "\n");
}
public void sacar(double valor){
if(saldo >= valor){
saldo -= valor;
saques++;
System.out.println("Sacado: " + valor);
System.out.println("Novo saldo: " + saldo + "\n");
} else {
System.out.println("Saldo insuficiente. Faça um depósito\n");
}
}
public void depositar(double valor)
{
saldo += valor;
System.out.println("Depositado: " + valor);
System.out.println("Novo saldo: " + saldo + "\n");
}
public void iniciar(){
int opcao;
do{
exibeMenu();
opcao = entrada.nextInt();
escolheOpcao(opcao);
}while(opcao!=4);
}
public void exibeMenu(){
System.out.println("\t Escolha a opção desejada");
System.out.println("1 - Consultar Extrato");
System.out.println("2 - Sacar");
System.out.println("3 - Depositar");
System.out.println("4 - Sair\n");
System.out.print("Opção: ");
}
public void escolheOpcao(int opcao){
double valor;
switch( opcao ){
case 1:
extrato();
break;
case 2:
if(saques<3){
System.out.print("Quanto deseja sacar: ");
valor = entrada.nextDouble();
sacar(valor);
} else{
System.out.println("Limite de saques diários atingidos.\n");
}
break;
case 3:
System.out.print("Quanto deseja depositar: ");
valor = entrada.nextDouble();
depositar(valor);
break;
case 4:
System.out.println("Sistema encerrado.");
break;
default:
System.out.println("Opção inválida");
}
}
}