Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package view;
- import java.util.Scanner;
- import model.Lab02ContaCorrente;
- import model.Lab03ContaCorrente;
- public class Lab03Sistema {
- public static Lab02ContaCorrente conta = new Lab02ContaCorrente();
- public static void main(String[] args) {
- int opcao;
- Scanner scanner = new Scanner(System.in);
- do{
- System.out.println("1 - Cadastramento");
- System.out.println("2 - Saque");
- System.out.println("3 - Deposito");
- System.out.println("4 - Informacoes");
- System.out.println("9 - Fim");
- System.out.println("\nEscolha uma opção:");
- opcao = scanner.nextInt();
- switch(opcao){
- case 1:
- execCadastramento();
- break;
- case 2:
- execSaque();
- break;
- case 3:
- execDeposito();
- break;
- case 4:
- execImprimir();
- break;
- case 9:
- System.out.println("Fim");
- break;
- default:
- System.out.println("Opcao invalida!" + opcao);
- break;
- }
- }while(opcao != 9);
- }
- /* Para a opção "1 - Cadastramento" deve-se pedir os dados constantes de uma
- conta corrente em variáveis locais ao método. Desenvolver um método para a
- classe chamado "execCadastramento" que mostre os textos e entre com os valores desejados em
- variáveis locais conforme o layout abaixo:
- Layout método cadastramento
- Numero da Agencia : 1555
- Numero da Conta : 1112223
- Nome do Cliente : Pedro Antonio
- Saldo : 99999.99
- Confirma cadastramento (S/N) : s
- Cadastramento realizado */
- public static void execCadastramento(){
- int numAge = conta.numAge;
- int numConta = conta.numConta;
- String nome = conta.nome;
- String opcao;
- double saldo = getSaldo ();
- Scanner input = new Scanner(System.in);
- Lab03ContaCorrente l3 = new Lab03ContaCorrente(numAge,numConta,nome,saldo);
- System.out.println("Confirmar cadastramento (S/N) :");
- opcao = input.nextLine();
- if("s".equals(opcao) || "S".equals(opcao)){
- do{
- System.out.println ("Numero da Agencia");
- numAge = Integer.parseInt(input.nextLine());
- } while (numAge <= 0);
- numAge = getAgencia();
- do{
- System.out.println ("Numero da Conta");
- numConta = Integer.parseInt(input.nextLine());
- } while (numConta <= 0);
- numConta = getConta();
- do{
- System.out.println ("Nome do Cliente: ");
- nome = input.nextLine();
- } while (nome.equals(""));
- nome = getNome();
- do{
- System.out.println("Saldo: (coloque . em vez de , )");
- saldo = Double.parseDouble(input.nextLine());
- } while (nome.equals(""));
- l3.gravar();
- System.out.println("Cadastramento realizado");
- }
- else if("n".equals(opcao) || "N".equals(opcao)){
- System.out.println("Cadastramento cancelado");
- System.exit(1);
- }
- }
- /*Para a opção "2 - Saque" deve-se chamar o método "execSaque" que não recebe
- nenhum parâmetro. Inicialmente o método saque deve pedir o número da agência e
- conta e o valor do saque. Posteriormente será implementado código adicional a este método.
- Os valores devem ser colocados em variáveis locais ao método.
- Layout método saque
- Numero da Agencia : 1996
- Numero da Conta : 8728232
- Valor do Saque : 120.99
- Confirma saque (S/N) : s
- Saque realizado*/
- public static void execSaque(){
- int numCont = conta.numConta;
- int numAgencia = conta.numAge;
- double Vsaque = getSaque();
- String opcao;
- Scanner input = new Scanner(System.in);
- Lab03ContaCorrente l3 = new Lab03ContaCorrente(numAgencia,numCont);
- System.out.println("Confirmar saque (S/N) :");
- opcao = input.nextLine();
- if("s".equals(opcao) || "S".equals(opcao)){
- do{
- System.out.println("Numero da Agencia: ");
- numAgencia = Integer.parseInt(input.nextLine());
- }while(numAgencia <= 0);
- numAgencia = getAgencia();
- do{
- System.out.println("Numero da Conta: ");
- numCont = Integer.parseInt(input.nextLine());
- }while(numCont <= 0);
- numCont = getConta();
- do {
- System.out.println ("Digitar valor do saque");
- Vsaque = input.nextDouble();
- } while (Vsaque <= 0.0);
- conta.saldo = getSaldo();
- boolean consegui = conta.saque(getSaque());
- if(consegui){
- l3.gravar();
- System.out.println("Operacao com sucesso");
- }else{
- System.out.println("Erro na operação");
- }
- l3.saque(Vsaque);
- System.out.println("Saque realizado");
- }
- else if("n".equals(opcao) || "N".equals(opcao)){
- System.out.println("Saque cancelado");
- System.exit(1);
- }
- }
- /*De maneira similar desenvolver o método "execDeposito" para a opção "3 - Depósito".
- Nada será passado para a função e a mesma deve pedir agência, conta e o valor do depósito.
- Colocar os valores lidos em variáveis locais do método.
- Layout método deposito
- Numero da Agencia : 1996
- Numero da Conta : 1288273
- Valor do Deposito : 10000.99
- Confirma deposito (S/N) : n
- Deposito cancelado*/
- public static void execDeposito(){
- int numConta = conta.numConta;
- int numAgencia = conta.numAge;
- double Vdeposito = getDeposito();
- String opcao;
- Lab03ContaCorrente l3 = new Lab03ContaCorrente(numAgencia,numConta);
- Scanner input = new Scanner(System.in);
- System.out.println("Confirmar saque (S/N) :");
- opcao = input.nextLine();
- if("s".equals(opcao) || "S".equals(opcao)){
- do{
- System.out.println("Numero da Agencia: ");
- numAgencia = Integer.parseInt(input.nextLine());
- }while(numAgencia <= 0);
- numAgencia = getAgencia();
- do{
- System.out.println("Numero da Conta: ");
- numConta = Integer.parseInt(input.nextLine());
- }while(numConta <= 0);
- numConta = getConta();
- do {
- System.out.println ("Digitar valor do saque");
- Vdeposito = input.nextDouble();
- } while (Vdeposito <= 0.0);
- l3.deposito(Vdeposito);
- l3.gravar();
- System.out.println("Deposito realizado\n ");
- }
- else if("n".equals(opcao) || "N".equals(opcao)){
- System.out.println("Deposito cancelado");
- System.exit(1);
- }
- }
- public static double getSaldo(){
- double saldo = 0;
- return saldo;
- }
- public static double getSaque(){
- double saque = 0;
- return saque;
- }
- public static double getDeposito(){
- double deposito = 0;
- return deposito;
- }
- public static int getAgencia(){
- int agencia = 0;
- return agencia;
- }
- public static int getConta(){
- int Novaconta = 0;
- return Novaconta = 0;
- }
- public static String getNome(){
- String Novonome = null;
- return Novonome;
- }
- public static void execImprimir(){
- conta.imprimir();
- System.out.println("Agencia: " + getAgencia());
- System.out.println("Conta: " + getConta());
- System.out.println("Nome: " + getNome());
- System.out.println("Saldo:" + getSaldo());
- System.out.println("Saque:" + getSaque());
- System.out.println("Deposito: " + getDeposito());
- }
- }
- package model;
- //import view.Lab01Sistema;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.io.PrintWriter;
- import view.Lab03Sistema;
- public class Lab03ContaCorrente {
- private int numAge = getNumAge() ;
- private int numConta = getNumConta();
- private String nome = getNome();
- private double saldo = getSaldo();
- public static Lab03Sistema s3 = new Lab03Sistema();
- public Lab03ContaCorrente(int agencia,int conta){
- agencia = numAge;
- conta = numConta;
- recuperar();
- }
- public Lab03ContaCorrente(int numAge, int numConta, String nome, double saldo) {
- throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
- }
- public boolean gravar (){
- FileWriter tArq1;
- PrintWriter tArq2;
- try
- {
- // Operação I - Abrir o aquivo
- tArq1 = new FileWriter (getNumAge() + "." + getNumConta() + ".dat");
- tArq2 = new PrintWriter (tArq1);
- tArq2.println (getNumAge());
- tArq2.println (getNumConta());
- tArq2.println (getNome());
- tArq2.println (getSaldo());
- tArq2.println(Lab03Sistema.getSaque());
- tArq2.println(Lab03Sistema.getDeposito());
- // Operação III - Fechar o arquivo
- tArq2.close();
- return true;
- }
- catch (IOException tExcept)
- {
- tExcept.printStackTrace();
- return false;
- }
- }
- public boolean saque (double pValor){
- this.saldo = Lab03Sistema.getSaldo();
- pValor = Lab03Sistema.getSaque();
- if(this.saldo <= pValor){
- double novoSaldo = this.saldo - pValor;
- this.saldo = novoSaldo;
- return true;
- }
- else if(this.saldo > pValor){
- System.out.println("Saldo insuficiente");
- return false;
- }
- return false;
- }
- public void deposito (double pValor){
- pValor = Lab03Sistema.getDeposito();
- this.saldo += pValor;
- }
- private void recuperar (){
- FileReader tArq1;
- BufferedReader tArq2;
- int tQtde = 4;
- try
- {
- // Operação I - Abrir o arquivo
- tArq1 = new FileReader (getNumAge() + "." + getNumConta() + ".dat");
- tArq2 = new BufferedReader (tArq1);
- // Operação III - Ler atributo/valor e colocar na matriz
- String [] tLinha = new String [tQtde];
- for (int i = 0; i < tQtde; i++){
- tLinha [i] = tArq2.readLine();
- }
- // Operação IV - Fechar o arquivo
- tArq2.close();
- setNumAge(Integer.parseInt(tLinha [0]));
- setNumConta(Integer.parseInt(tLinha [1]));
- setNome(tLinha [2]);
- setSaldo(Double.parseDouble(tLinha [3]));
- }
- catch (IOException tExcept)
- {
- tExcept.printStackTrace();
- }
- }
- public void imprimir (){
- System.out.println("------------------------------");
- System.out.println(" SUA CONTA ");
- System.out.println("------------------------------");
- System.out.println("\nAgencia: " + getNumAge());
- System.out.println("\nConta: " + getNumConta());
- System.out.println("\nNome: " + getNome());
- System.out.println("\nSaldo: " + getSaldo());
- }
- public int getNumAge(){
- return this.numAge;
- }
- public int getNumConta(){
- return this.numConta;
- }
- public String getNome( ){
- return this.nome;
- }
- public double getSaldo( ){
- return this.saldo;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement