Segue exercício 16, acho q atende ao solicitado. Comentem!
- Código: Selecionar tudo
/*
EXERCÍCIO 16
Faça uma classe Conta que contenha o cliente (utilize a classe Pessoa
desenvolvida nos exercícios anteriores), o número da conta, o saldo e o limite.
Estes valores deverão ser informados no construtor. Faça um método para depositar
e um método para sacar. O método sacar irá devolver true ou false, em razão da
disponibilidade ou não de saldo. Faça um método saldo que retorne o saldo do
cliente.
*/
import java.util.Scanner;
class Conta{
//Atributos
private Pessoa cliente;
private String conta;
private double saldo;
private double limite;
private Scanner s=new Scanner(System.in);
//construtor da conta
public Conta(){
//Criando um novo cliente
cliente=new Pessoa();
//Solicitando a entrada do numero da conta
System.out.print("Numero da conta --> ");
conta=s.nextLine();
//Solicitando a entrada do saldo inicial
System.out.print("Saldo Inicial --> ");
saldo=s.nextDouble();
//Solicitando a entrada do limite disponível
System.out.print("Limite --> ");
limite=s.nextDouble();
}
//Métodos
public void Depositar(double valor){
//Executa um depósito na conta
saldo+=valor;
System.out.println("Deposito efetuado com sucesso!\n");
}
public boolean Sacar(double valor){
//Verifica a disponibilidade de saque
if((saldo+limite)<valor){
return false;
}
saldo-=valor;
return true;
}
public double getSaldo(){
//Retorna o saldo total disponível
return saldo;
}
}
class CaixaEletronico{
//Atributos
private int opcao;
private Scanner s=new Scanner(System.in);
private Conta conta;
//Metodos
public void Menu(){
do{
System.out.println("---------------------------------");
System.out.println("ESCOLHA UMA OPCAO: \n");
System.out.println("1. Efetuar deposito");
System.out.println("2. Efeturar saque");
System.out.println("3. Visualizar o saldo");
System.out.println("4. Encerrar");
System.out.println("---------------------------------\n");
System.out.print("Digite a opcao desejada: ");
opcao=s.nextInt();
s.nextLine();
encaminharEscolha();
}while(opcao!=4);
}
private void encaminharEscolha(){
//Verifica qual foi a opcao escolhida no menu e a executa
switch(opcao){
case 1:
System.out.print("Entre com o valor para deposito: ");
double deposito=s.nextDouble();
conta.Depositar(deposito);
break;
case 2:
System.out.print("Entre com o valora para saque: ");
double saque=s.nextDouble();
if(conta.Sacar(saque)){
System.out.println("Saque realizado com sucesso!");
}else{
System.out.println("Saldo insulficiente para saque!");
}
break;
case 3:
System.out.println("O seu saldo eh de: " + conta.getSaldo());
break;
case 4:
System.out.println("\n\nEncerrado!");
System.exit(0);
}
}
public void setConta(Conta conta){
this.conta=conta;
}
}
class Endereco{
//Atributos
private String estado;
private String cidade;
private String bairro;
private String rua;
private String cep;
private String telefone;
private Scanner s=new Scanner(System.in);
//Construtor
public Endereco(){
System.out.println("\nENDERECO\n");
//Solicita a entrada do estado
System.out.print("Estado --> ");
estado=s.nextLine();
//Solicita a entrada da cidade
System.out.print("Cidade --> ");
cidade=s.nextLine();
//Solicita a entrada do bairro
System.out.print("Bairro --> ");
bairro=s.nextLine();
//Solicita a entrada da rua
System.out.print("Rua --> ");
rua=s.nextLine();
//Solicita a entrada do cep
System.out.print("CEP --> ");
cep=s.nextLine();
//Solicita a entrada do telefone
System.out.print("Telefone --> ");
telefone=s.nextLine();
}
//Métodos
public void Exibir(){
//Exibir o endereço na tela
System.out.println("------------------------------------");
System.out.println("ENDERECO");
System.out.println("------------------------------------\n\n");
System.out.println("estado: " + estado);
System.out.println("cidade: " + cidade);
System.out.println("bairro: " + bairro);
System.out.println("rua: " + rua);
System.out.println("cep: " + cep);
System.out.println("telefone: " + telefone);
}
}
class Pessoa{
//Atributos
private String nome;
private int idade;
private String cpf;
private Endereco endereco;
private Scanner s=new Scanner(System.in);
//Construtor
public Pessoa(){
//O exercício 12 diz que nenhum objeto Pessoa seja criada
//sem nome,idade e cpf
//Solicita a entrada do nome
System.out.println("\nINFORMACOES PESSOAIS\n");
do{
System.out.print("Nome --> ");
nome=s.nextLine();
}while(nome.length()==0);
//Solicita a entrada da Idade
do{
System.out.print("Idade --> ");
idade=s.nextInt();
s.nextLine();
}while(idade==0);
//Solicita a entrada do CPF
do{
System.out.print("CPF --> ");
cpf=s.nextLine();
}while(cpf.length()==0);
//Criando um objeto Endereco
endereco=new Endereco();
System.out.println("\nNova pessoa adicionada com sucesso!\n");
}
//Método de retorno get
public String getNome(){
return nome;
}
//Metodos
public void Apresentar(){
//Exibe as informações da pessoa
System.out.println("------------------------------------");
System.out.println("DADOS PESSOAIS");
System.out.println("------------------------------------\n\n");
System.out.println("nome: " + nome);
System.out.println("idade: " + idade);
System.out.println("cpf: " + cpf);
//Exibindo o endereco
endereco.Exibir();
}
}
public class Exercicio16{
public static void main(String[]args){
//Exibindo o título
System.out.println("--------------------------------------------------");
System.out.println("Exercicio 16 - modulo 4");
System.out.println("--------------------------------------------------\n\n");
//Criando uma nova conta
Conta conta=new Conta();
//Criando um caixa eletrônico
CaixaEletronico caixa=new CaixaEletronico();
caixa.setConta(conta);
//Iniciando o caixa eletronico
caixa.Menu();
}
}
