Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 11.70 KB | None | 0 0
  1. package view;
  2.  
  3. import java.util.Scanner;
  4. import model.Lab02ContaCorrente;
  5. import model.Lab03ContaCorrente;
  6.  
  7. public class Lab03Sistema {
  8.     public static Lab02ContaCorrente conta = new Lab02ContaCorrente();
  9.    
  10.     public static void main(String[] args) {
  11.        
  12.         int opcao;
  13.         Scanner scanner = new Scanner(System.in);
  14.     do{
  15.         System.out.println("1 - Cadastramento");
  16.         System.out.println("2 - Saque");
  17.         System.out.println("3 - Deposito");
  18.         System.out.println("4 - Informacoes");
  19.         System.out.println("9 - Fim");
  20.         System.out.println("\nEscolha uma opção:");
  21.         opcao = scanner.nextInt();
  22.         switch(opcao){
  23.             case 1:
  24.                  execCadastramento();
  25.                 break;
  26.             case 2:
  27.                 execSaque();
  28.                 break;
  29.             case 3:
  30.                 execDeposito();
  31.                 break;
  32.             case 4:
  33.                 execImprimir();
  34.                 break;
  35.             case 9:
  36.                 System.out.println("Fim");
  37.                 break;
  38.             default:
  39.                 System.out.println("Opcao invalida!" + opcao);
  40.               break;
  41.         }
  42.     }while(opcao != 9);
  43.  }
  44.    /* Para a opção "1 - Cadastramento" deve-se pedir os dados constantes de uma
  45.     conta corrente em variáveis locais ao método. Desenvolver um método para a
  46.     classe chamado "execCadastramento" que mostre os textos e entre com os valores desejados em
  47.     variáveis locais conforme o layout abaixo:
  48. Layout método cadastramento
  49.  
  50. Numero da Agencia : 1555
  51. Numero da Conta   : 1112223
  52. Nome do Cliente   : Pedro Antonio
  53. Saldo             : 99999.99
  54.  
  55. Confirma cadastramento (S/N) : s
  56. Cadastramento realizado */
  57.     public static void execCadastramento(){
  58.         int numAge = conta.numAge;
  59.         int numConta = conta.numConta;
  60.         String nome = conta.nome;
  61.          String opcao;
  62.         double saldo = getSaldo ();
  63.         Scanner input = new Scanner(System.in);
  64.         Lab03ContaCorrente l3 = new Lab03ContaCorrente(numAge,numConta,nome,saldo);
  65.         System.out.println("Confirmar cadastramento (S/N) :");
  66.         opcao = input.nextLine();
  67.         if("s".equals(opcao) || "S".equals(opcao)){
  68.           do{
  69.                 System.out.println ("Numero da Agencia");
  70.             numAge = Integer.parseInt(input.nextLine());
  71.         } while (numAge <= 0);  
  72.                         numAge = getAgencia();
  73.         do{                
  74.         System.out.println ("Numero da Conta");
  75.             numConta = Integer.parseInt(input.nextLine());
  76.         } while (numConta <= 0);  
  77.                         numConta = getConta();
  78.         do{                
  79.         System.out.println ("Nome do Cliente: ");
  80.             nome = input.nextLine();
  81.         } while (nome.equals(""));  
  82.                         nome = getNome();
  83.           do{                
  84.                 System.out.println("Saldo: (coloque . em vez de , )");
  85.                  saldo = Double.parseDouble(input.nextLine());
  86.           } while (nome.equals(""));  
  87.          l3.gravar();
  88.         System.out.println("Cadastramento realizado");
  89.         }
  90.         else if("n".equals(opcao) || "N".equals(opcao)){
  91.             System.out.println("Cadastramento cancelado");
  92.             System.exit(1);
  93.         }
  94.     }
  95.    
  96. /*Para a opção "2 - Saque" deve-se chamar o método "execSaque" que não recebe
  97.     nenhum parâmetro. Inicialmente o método saque deve pedir o número da agência e
  98.     conta e o valor do saque. Posteriormente será implementado código adicional a este método.
  99.     Os valores devem ser colocados em variáveis locais ao método.
  100.  
  101. Layout método saque
  102.  
  103. Numero da Agencia : 1996
  104. Numero da Conta   : 8728232
  105. Valor do Saque    : 120.99
  106.  
  107. Confirma saque (S/N) : s
  108. Saque realizado*/
  109.      public static void execSaque(){
  110.         int numCont = conta.numConta;
  111.         int numAgencia = conta.numAge;
  112.         double Vsaque = getSaque();
  113.         String opcao;
  114.         Scanner input = new Scanner(System.in);
  115.         Lab03ContaCorrente l3 = new Lab03ContaCorrente(numAgencia,numCont);
  116.         System.out.println("Confirmar saque (S/N) :");
  117.         opcao = input.nextLine();
  118.        
  119.         if("s".equals(opcao) || "S".equals(opcao)){
  120.         do{
  121.             System.out.println("Numero da Agencia: ");
  122.             numAgencia = Integer.parseInt(input.nextLine());
  123.         }while(numAgencia <= 0);
  124.             numAgencia = getAgencia();
  125.         do{
  126.             System.out.println("Numero da Conta: ");
  127.             numCont = Integer.parseInt(input.nextLine());
  128.         }while(numCont <= 0);
  129.              numCont = getConta();
  130.         do {
  131.     System.out.println ("Digitar valor do saque");
  132.             Vsaque = input.nextDouble();
  133.         } while (Vsaque <= 0.0);        
  134.  
  135.        conta.saldo = getSaldo();
  136.        boolean consegui = conta.saque(getSaque());
  137.        if(consegui){
  138.            l3.gravar();
  139.            System.out.println("Operacao com sucesso");
  140.        }else{
  141.            System.out.println("Erro na operação");
  142.        }
  143.             l3.saque(Vsaque);
  144.             System.out.println("Saque realizado");
  145.         }
  146.         else if("n".equals(opcao) || "N".equals(opcao)){
  147.             System.out.println("Saque cancelado");
  148.             System.exit(1);
  149.         }
  150.     }
  151.    
  152.     /*De maneira similar desenvolver o método "execDeposito" para a opção "3 - Depósito".
  153.     Nada será passado para a função e a mesma deve pedir agência, conta e o valor do depósito.
  154.     Colocar os valores lidos em variáveis locais do método.
  155.  
  156. Layout método deposito
  157.  
  158. Numero da Agencia : 1996
  159. Numero da Conta   : 1288273
  160. Valor do Deposito : 10000.99
  161.  
  162. Confirma deposito (S/N) : n
  163. Deposito cancelado*/
  164.     public static void execDeposito(){
  165.         int numConta = conta.numConta;
  166.         int numAgencia = conta.numAge;
  167.         double Vdeposito = getDeposito();
  168.         String opcao;
  169.         Lab03ContaCorrente l3 = new Lab03ContaCorrente(numAgencia,numConta);
  170.         Scanner input = new Scanner(System.in);
  171.        
  172.         System.out.println("Confirmar saque (S/N) :");
  173.         opcao = input.nextLine();
  174.        
  175.         if("s".equals(opcao) || "S".equals(opcao)){
  176.        
  177.        do{
  178.             System.out.println("Numero da Agencia: ");
  179.             numAgencia = Integer.parseInt(input.nextLine());
  180.         }while(numAgencia <= 0);
  181.             numAgencia = getAgencia();
  182.         do{
  183.             System.out.println("Numero da Conta: ");
  184.             numConta = Integer.parseInt(input.nextLine());
  185.         }while(numConta <= 0);
  186.              numConta = getConta();
  187.        
  188.         do {
  189.     System.out.println ("Digitar valor do saque");
  190.             Vdeposito = input.nextDouble();
  191.         } while (Vdeposito <= 0.0);
  192.              l3.deposito(Vdeposito);
  193.              l3.gravar();
  194.             System.out.println("Deposito realizado\n ");
  195.         }
  196.         else if("n".equals(opcao) || "N".equals(opcao)){
  197.             System.out.println("Deposito cancelado");
  198.             System.exit(1);
  199.         }
  200.     }
  201.    public static double getSaldo(){
  202.         double saldo = 0;
  203.         return saldo;
  204.     }
  205.    
  206.     public static double getSaque(){
  207.         double saque = 0;
  208.         return saque;
  209.     }
  210.    
  211.      public static double getDeposito(){
  212.         double deposito = 0;
  213.         return deposito;
  214.     }
  215.     public static int getAgencia(){
  216.         int agencia = 0;
  217.         return agencia;
  218.     }
  219.    
  220.     public static int getConta(){
  221.         int Novaconta = 0;
  222.         return Novaconta = 0;
  223.     }
  224.    
  225.     public static String getNome(){
  226.             String Novonome = null;
  227.             return Novonome;
  228.     }
  229.    
  230.      public static void execImprimir(){
  231.         conta.imprimir();
  232.          System.out.println("Agencia: " + getAgencia());
  233.          System.out.println("Conta: " + getConta());
  234.          System.out.println("Nome: " + getNome());
  235.          System.out.println("Saldo:" + getSaldo());
  236.          System.out.println("Saque:" + getSaque());
  237.          System.out.println("Deposito: " + getDeposito());
  238.      }
  239.      
  240.      
  241. }
  242.    
  243. package model;
  244. //import view.Lab01Sistema;
  245. import java.io.BufferedReader;
  246. import java.io.BufferedWriter;
  247. import java.io.FileReader;
  248. import java.io.FileWriter;
  249. import java.io.IOException;
  250. import java.io.PrintWriter;
  251. import view.Lab03Sistema;
  252.  
  253.  
  254. public class Lab03ContaCorrente {
  255.     private int numAge = getNumAge() ;
  256.     private int numConta = getNumConta();
  257.     private String nome = getNome();
  258.     private double saldo = getSaldo();
  259.     public static Lab03Sistema s3 = new Lab03Sistema();
  260.     public Lab03ContaCorrente(int agencia,int conta){
  261.         agencia = numAge;
  262.         conta = numConta;
  263.         recuperar();
  264.     }
  265.  
  266.     public Lab03ContaCorrente(int numAge, int numConta, String nome, double saldo) {
  267.         throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  268.     }
  269.    
  270.  public boolean gravar (){
  271.         FileWriter      tArq1;
  272.         PrintWriter     tArq2;
  273.  
  274.         try
  275.         {
  276.             // Operação I - Abrir o aquivo
  277.             tArq1 = new FileWriter (getNumAge() + "." + getNumConta() + ".dat");
  278.             tArq2 = new PrintWriter (tArq1);
  279.  
  280.             tArq2.println (getNumAge());
  281.             tArq2.println (getNumConta());
  282.             tArq2.println (getNome());
  283.             tArq2.println (getSaldo());
  284.                         tArq2.println(Lab03Sistema.getSaque());
  285.                         tArq2.println(Lab03Sistema.getDeposito());
  286.             // Operação III - Fechar o arquivo
  287.             tArq2.close();
  288.  
  289.             return true;
  290.         }
  291.         catch (IOException tExcept)
  292.         {
  293.             tExcept.printStackTrace();
  294.             return false;
  295.         }
  296.        
  297.     }
  298.  
  299.    
  300.  
  301.     public boolean saque (double pValor){
  302.         this.saldo = Lab03Sistema.getSaldo();
  303.         pValor = Lab03Sistema.getSaque();
  304.        
  305.         if(this.saldo <= pValor){
  306.             double novoSaldo = this.saldo - pValor;
  307.             this.saldo = novoSaldo;
  308.             return true;
  309.         }
  310.          else if(this.saldo > pValor){
  311.              System.out.println("Saldo insuficiente");
  312.              return false;
  313.         }
  314.         return false;
  315.     }
  316.  
  317.       public void deposito (double pValor){
  318.           pValor = Lab03Sistema.getDeposito();
  319.          
  320.           this.saldo += pValor;
  321.       }
  322.      
  323.      
  324.       private void recuperar (){
  325.         FileReader     tArq1;
  326.         BufferedReader tArq2;
  327.         int            tQtde = 4;
  328.         try
  329.         {
  330.             // Operação I - Abrir o arquivo
  331.             tArq1 = new FileReader (getNumAge() + "." + getNumConta() + ".dat");
  332.             tArq2 = new BufferedReader (tArq1);
  333.             // Operação III - Ler atributo/valor e colocar na matriz
  334.             String [] tLinha = new String [tQtde];
  335.             for (int i = 0; i < tQtde; i++){
  336.                 tLinha [i] = tArq2.readLine();
  337.             }
  338.             // Operação IV - Fechar o arquivo
  339.             tArq2.close();
  340.             setNumAge(Integer.parseInt(tLinha [0]));
  341.             setNumConta(Integer.parseInt(tLinha [1]));
  342.             setNome(tLinha [2]);
  343.             setSaldo(Double.parseDouble(tLinha [3]));  
  344.         }
  345.         catch (IOException tExcept)
  346.         {
  347.             tExcept.printStackTrace();
  348.         }
  349.        
  350. }
  351.      
  352.       public void imprimir (){
  353.            System.out.println("------------------------------");
  354.            System.out.println("         SUA CONTA               ");
  355.            System.out.println("------------------------------");
  356.            System.out.println("\nAgencia: " + getNumAge());
  357.            System.out.println("\nConta: " + getNumConta());
  358.            System.out.println("\nNome: " + getNome());
  359.            System.out.println("\nSaldo: " + getSaldo());
  360.          
  361.       }
  362.      
  363.       public int getNumAge(){
  364.           return this.numAge;
  365.       }
  366.      
  367.       public int getNumConta(){
  368.           return this.numConta;
  369.       }
  370.      
  371.       public String getNome( ){
  372.           return this.nome;
  373.       }
  374.      
  375.       public double getSaldo( ){
  376.           return this.saldo;
  377.       }
  378. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement