Last active
August 29, 2015 14:06
-
-
Save flaviacs/4c17b8b38c8cd4d6be94 to your computer and use it in GitHub Desktop.
Aula Ciro - 25-09-14 // cont. -- BANCO
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| EXERCÍCIO: | |
| Implemente a aplicação modelada pelo diagrama de classes UML do próximo slide. O método | |
| main() da classe Banco deve permitir criar uma conta (método criarConta()), listar as contas | |
| cadastradas (listarContas()), realizar um depósito em uma conta (realizarDeposito()) dado seu | |
| número e realizar um saque em uma conta (realizarSaque()) dado seu número. O método localizarConta(), | |
| devolve o objeto da classe Conta cujo número é igual ao fornecido como parâmetro para este método, | |
| ou null, caso nenhum objeto da classe Conta possua esse número. | |
| ____________________________________ __________________________________ | |
| | BANCO | | Conta | | |
| |------------------------------------| |----------------------------------| | |
| |- numContas : int | |- numero :int | | |
| |------------------------------------| |- titular : String | | |
| |+ criarConta() : VOID | -contas |- saldo : float | | |
| |+ listarContas() : VOID | ---------> |----------------------------------| | |
| |+ realizarDeposito() : VOID | 1..* |+ getNumero() : int | | |
| |+ realizarSaque() : VOID | |+ sacar(valor : float) : int | | |
| |+ main(args : String[]) : VOID | |+ depositar(valor : float) : void | | |
| |+ localizarConta(num : int) : Conta | |+ toString() : String | | |
| |____________________________________| |__________________________________| | |
| _____________________________________________________________ | |
| | | | |
| | http://fatecrl.edu.br/moodle/mod/resource/view.php?id=3902 | | |
| |_____________________________________________________________| |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package financeiro; | |
| import java.util.Scanner; | |
| import javax.xml.soap.SAAJResult; | |
| public class Banco { | |
| private Conta[] contas; | |
| private int numContas; | |
| public Banco() { //construtor | |
| contas = new Conta[10]; | |
| } | |
| public void criarConta() { | |
| if (numContas < contas.length) { | |
| Scanner in = new Scanner(System.in); | |
| int numero; | |
| String titular; | |
| System.out.print("Número da conta: "); | |
| numero = in.nextInt(); | |
| System.out.print("Titular: "); | |
| in.nextLine(); | |
| titular = in.nextLine(); | |
| contas[numContas++] = new Conta(numero, titular); | |
| System.out.println("Conta cadastrada com sucesso!"); | |
| }else { | |
| System.out.println("Não é possível mais cadastrar mais nenhuma conta!"); | |
| } | |
| } | |
| public void listarContas() { | |
| if (numContas > 0) { | |
| for (int i = 0; i < numContas; i++) { | |
| System.out.println(contas[i]); | |
| } | |
| }else { | |
| System.out.println("Não há contas cadastradas!"); | |
| } | |
| } | |
| public void realizarDeposito() { | |
| if (numContas > 0) { | |
| Scanner in = new Scanner(System.in); | |
| System.out.print("Número da conta: "); | |
| Conta c = localizarConta(in.nextInt()); | |
| if (c != null) { | |
| System.out.println(c); | |
| System.out.print("Valor do depósito: R$ "); | |
| c.deposito(in.nextFloat()); | |
| } else { | |
| System.out.println("Não há nenhuma conta com esse número!"); | |
| } | |
| }else{ | |
| System.out.println("Não há contas cadastradas!"); | |
| } | |
| } | |
| public void realizarSaque() { | |
| if (numContas > 0) { | |
| Scanner in = new Scanner(System.in); | |
| System.out.print("Número da conta: "); | |
| Conta c = localizarConta(in.nextInt()); | |
| if (c != null) { | |
| System.out.println(c); | |
| System.out.print("Valor do saque: R$ "); | |
| if (c.sacar(in.nextFloat()) == 0) { | |
| System.out.println("Saldo insuficiente!"); | |
| } | |
| }else{ | |
| System.out.println("Não há nenhuma conta com esse número!"); | |
| } | |
| }else{ | |
| System.out.println("Não há contas cadastradas!"); | |
| } | |
| } | |
| public Conta localizarConta(int numero) { | |
| for (int i = 0; i < numContas; i++) { | |
| if (contas[i].getNumero() == numero) { | |
| return contas[i]; | |
| } | |
| } | |
| return null; | |
| } | |
| public static void main(String[] args) { | |
| Scanner in = new Scanner(System.in); | |
| Banco banco = new Banco(); | |
| int op; | |
| do { | |
| System.out.println("-- BANCO da FATEC --"); | |
| System.out.println("<1> Criar uma conta"); | |
| System.out.println("<2> Listar as contas cadastradas"); | |
| System.out.println("<3> Realizar um depósito"); | |
| System.out.println("<4> Realizar um saque"); | |
| System.out.println("<0> Sair do programa"); | |
| System.out.print("Opção: "); | |
| switch (op = in.nextInt()) { | |
| case 1: banco.criarConta(); | |
| break; | |
| case 2: banco.listarContas(); | |
| break; | |
| case 3: banco.realizarDeposito(); | |
| break; | |
| case 4: banco.realizarSaque(); | |
| break; | |
| case 0: break; | |
| default: System.out.println("Opção inváida!"); | |
| } | |
| } while (op != 0); | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package financeiro; | |
| public class Conta { | |
| private int numero; | |
| private String titular; | |
| private float saldo; | |
| public Conta(int numero, String titular) { | |
| this.numero = numero; | |
| this.titular = titular; | |
| } | |
| public int getNumero() { | |
| return numero; | |
| } | |
| public float sacar(float valor) { | |
| if (saldo >= valor) { | |
| saldo -= valor; | |
| System.out.println("Saque realizado com sucesso!"); | |
| return valor; | |
| } | |
| return 0; | |
| } | |
| public void deposito(float valor) { | |
| saldo += valor; | |
| System.out.println("Depósito realizado com sucesso!"); | |
| } | |
| @Override | |
| public String toString() { | |
| return "Conta [numero=" + numero + ", titular=" + titular + ", saldo=" + saldo + "]"; | |
| } | |
| } |
Author
Author
Continuação da aula do DIA 25/09/2014
https://gist.github.com/flaviacs/9c1bcb68a40f58137d35
https://gist.github.com/flaviacs/6b4db82b9f77d1eef634
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Trabalho:
moodle: http://fatecrl.edu.br/moodle/mod/resource/view.php?id=3901