O código que irei postar hoje é um aplicativo que simula um caixa eletrônico. Primeiramente ele pede seu nome e o valor inicial de depósito. Em seguida o sistema cria um número de conta para você, esse número tem até 4 digitos. Logo em seguida, com a conta criada, é exibido um menu com quatro opções: extrato, saque, deposito e sair. No extrato são exibidas todas as informações da conta, no saque pode ser efetuada uma retirada de um valor e no deposito é feito o inserimento de um valor. O código apresenta algumas falhas, como depositar ou sacar valores negativos, digitar letras ao invés de números, entre outros pequenos problemas. Esses "bugs" não foram corrigidos pois o programa foi desenvolvido exatamente para que outras pessoas pudessem achar esses erros.
O código está dividido em duas classes. A classe principal 'Caixaeletronico.java' e a classe em que estão as informações da conta 'Conta.java'. Crie essas duas classes para por os códigos a seguir:
Código da classe: Caixaeletronico.java
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();
}
}
Código da classe: Conta.java
package caixaeletronico;
import java.util.Scanner;
public class Conta {
private String nome;
private int conta;
private int 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);
}
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.println("Insira o valor do saque: ");
valor = entrada.nextDouble();
sacar(valor);
}else{
System.out.println("Limite de saques diários atingidos.");
}
break;
case 3:
System.out.println("Insira o valor do depósito: ");
valor = entrada.nextDouble();
depositar(valor);
break;
case 4:
System.out.println("Sistema encerrado. Obrigado pela preferência.");
break;
default:
System.out.println("Opção invalida.");
}
}
}
Você pode utilizar esse código utilizando o NetBeans ou outra IDE que suporte Java.