[RESOLVIDO] Exercicio 16

Veja, compartilhe, discuta, ajude, mostre como você resolveu os exercícios deste módulo!

[RESOLVIDO] Exercicio 16

Mensagempor prog.tiago em Qui Fev 04, 2010 7:23 pm

Boa noite,

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();
   }
}



:mrgreen: :mrgreen: :mrgreen:
prog.tiago
 
Mensagens: 69
Data de registro: Dom Dez 27, 2009 10:54 pm

Re: [RESOLVIDO] Exercicio 16

Mensagempor JHS6544 em Seg Abr 19, 2010 7:05 am

segue a Classe Conta:
Código: Selecionar tudo
package Modulo4JavaStart;

public class Conta {
private Pessoa p;
private int nConta;
private double saldo,limite;
public Conta(Pessoa p,int nConta,double saldo,double limite){
   this.p=p;
   this.nConta=nConta;
   this.saldo=saldo;
   this.limite=limite;
}
public boolean sacar(double saque){
   if(saldo>saque){
      this.saldo-=saque;
      return true;
   }
   return false;
}
public double getSaldo(){
   return this.saldo;
}
public boolean depositar(double deposito){
   this.saldo+=deposito;
   return true;
}
}
JHS6544
 
Mensagens: 106
Data de registro: Qua Mar 24, 2010 10:47 am


Retornar para Exercícios - Módulo 04 - OO, Classes e Objetos, Modificadores de Acesso

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante

cron