Skip to content

Latest commit

 

History

History
312 lines (221 loc) · 13.6 KB

File metadata and controls

312 lines (221 loc) · 13.6 KB

Projeto 01 - Conta Bancária - Iniciando o Projeto Java

1. O Projeto Conta Bancária

O Projeto Conta Bancária será o nosso Projeto Guia no aprendizado dos Conceitos e aplicação da Orientação a Objetos. Todo o código que implementarmos no projeto Conta Bancária servirá de base para a construção do Projeto Java, que marca o final do Bloco 01. O Projeto Conta Bancária receberá novas funcionalidades a cada nova Sessão e depois que você adquirir e praticar os novos conhecimentos, você poderá aplicar no Projeto Java. Veja o Diagrama de Classes do Projeto Conta Bancária completo na figura abaixo:

classDiagram
class Conta {
<<Abstract>>
  - numero : int
  - agencia : int
  - tipo : int
  - titular : String
  - saldo : float
  + int getNumero()
  + int getAgencia()
  + int getTipo()
  + String getTitular()
  + float getSaldo()
  + void setNumero(int numero)
  + void setAgencia(int agencia)
  + void setTipo(int tipo)
  + void setTitular(String titular)
  + void setSaldo(float saldo)
  + boolean sacar(float valor)
  + void depositar(float valor)
  + void visualizar()
}
class ContaCorrente {
  - limite : float
  + float getLimite()
  + void setLimite(float limite)
  + boolean sacar(float valor)
  + void visualizar()
}
class ContaPoupanca {
  - aniversario : int
  + int getAniversario()
  + void setAniversario(int aniversario)
  + void visualizar()
}
class ContaRepository{
<< Interface >>
+ void procurarPorNumero(int numero)
+ void listarTodas()
+ void cadastrar(Conta conta)
+ void atualizar(Conta conta)
+ void deletar(int numero)
+ void sacar(int numero, float valor)
+ void depositar(int numero, float valor)
+ void transferir(int numeroOrigem, int numeroDestino, float valor)
}
class ContaController{
+ void procurarPorNumero(int numero)
+ void listarTodas()
+ void cadastrar(Conta conta)
+ void atualizar(Conta conta)
+ void deletar(int numero)
+ void sacar(int numero, float valor)
+ void depositar(int numero, float valor)
+ void transferir(int numeroOrigem, int numeroDestino, float valor)
+ int gerarNumero()
+ Conta buscarNaCollection(int numero)
}
Conta <|-- ContaCorrente
Conta <|-- ContaPoupanca
Conta <.. ContaRepository
ContaRepository <|.. ContaController
Loading

O Projeto será composto pelas seguintes Classes e Interfaces:

Classe/Interface Descrição
Menu Classe principal, que conterá o Método main, responsável por criar o Menu inicial da aplicação com todas as funcionalidades do sistema.
Cores Classe utilitária, que possui a função de aplicar cores ao Menu.
Conta Classe responsável por definir o Objeto Conta genérico.
ContaCorrente Classe responsável por definir o Objeto Conta Corrente.
ContaPoupanca Classe responsável por definir o Objeto Conta Poupanca.
ContaRepository Interface responsável por encapsular os Métodos que serão utilizados no Menu da aplicação
ContaController Classe responsável por implementar a Interface ContaRepository.

Antes de começar a criar as nossas Classes, vamos criar o nosso Projeto no Eclipse/STS.

👣 Passo 01 - Criar o Projeto

  1. Abra o Eclipse/STS
  1. Clique no menu File e clique na opção New 🡪 Java Project, como mostra a animação abaixo:
  1. Será aberta a janela New Java Project.

👣 Passo 02 - Setup do Projeto

  1. Vamos configurar o nome do projeto (Project name), como conta, conforme a figura abaixo:
  1. Clique no botão Finish para concluir.

  2. Aguarde a conclusão do processo de criação do projeto. Você pode acompanhar o progresso no canto direito inferior do STS, conforme mostra a figura abaixo:

  1. A estrutura do nosso projeto ficará semelhante a imagem abaixo:

👣 Passo 03 - Criar o Pacote principal - conta

Na Source Folder Principal (src), vamos criar o pacote principal da nossa aplicação (conta), onde todo o nosso código será desenvolvido. Na figura abaixo, podemos visualizar o pacote:

  1. No lado esquerdo superior, na Guia Package explorer, clique com o botão direito do mouse sobre a Source Folder Principal (src) e clique na opção New 🡪 Package, como mostra a animação abaixo:
  1. Na janela New Java Package, no item Name, informe o nome da Package: conta, como mostra a figura abaixo:
  1. Clique no botão Finish para concluir.

A estrutura de pacotes da aplicação ficará igual a figura abaixo:

👣 Passo 04 - Criar a Classe Menu

Agora vamos criar a Classe principal que chamaremos de Menu.

  1. Clique com o botão direito do mouse sobre o Pacote conta e na sequência, clique na opção New 🡪 Class, como mostra a animação abaixo:
  1. Na janela New Java Class, no item Name, digite o nome da Classe (Menu) e marque a opção public static void main(String[] args), como mostra a figura abaixo:
  1. Clique no botão Finish para concluir.
  2. Na imagem abaixo, vemos o código inicial da Classe Menu:

Código fonte: Menu.java

Vamos implementar o código da Classe Menu - versão monocromática (sem as cores). Vamos analisar o código abaixo:

Linha 3: Importamos o Pacote java.util.Scanner, que permite a entrada de dados via teclado.

Linha 9: Instanciamos um Objeto da Classe Scanner, chamado leia, que será responsável por efetuar a entrada de dados via teclado.

Linha 11: Criamos a variável do tipo int, chamada opcao, que receberá o número da opção do Menu, que deverá ser executada.

Linha 13: Iniciamos a estrutura de repetição while, responsável por gerar o Menu e repeti-lo na tela. Na condição do menu, inserimos a opção true para que o loop seja infinito, desta forma, o loop será finalizado apenas se a opção 9 for digitada.

Linhas 15 a 33: Construímos a parte visual do nosso Menu. Os espaços em branco antes e depois dos itens do menu e as linhas me branco não foram construídas com tabulações (tecla Tab do teclado) e sim com espaços em branco simples.

Linha 35: Através do Objeto leia, utilizamos o Método nextInt() para ler um número inteiro e armazenar na variável opcao.

Linhas 36 a 41: Através do Laço Condicional if, verificamos se o valor da variável opcao é 9. Caso seja, será exibida a mensagem de saída (linha 37), o Método sobre() será executado, exibindo os seus dados pessoais (linha 38), o Objeto leia será finalizado (linha 39) e o programa será finalizado (linha 40).

Linhas 43 a 79: Através do condicional case, checaremos se o valor da variável opcao está no intervalo entre 1 e 8. Conforme o numero, será exibida uma mensagem diferente na tela. Caso o numero esteja fora do intervalo 1 a 8 e seja diferente de 9, será exibida na tela a mensagem Opção Inválida!

Linhas 83 a 89: Implementação do Método Sobre(), que exibe na tela os dados da pessoa desenvolvedora. Substitua as informações contidas nas linhas 86 e 87 pelos seus dados pessoais (Nome, E-mail e Link do Github).


ALERTA DE BSM: Mantenha a Atenção aos Detalhes ao criar o Método sobre(). Não esqueça de inserir os seus dados pessoais no Método Sobre().

Execute o projeto clicando no botão Run.

O visual do Menu deve ser semelhante ao da figura abaixo:

Ao digitar a opção 9, será exibida uma mensagem semelhante a imagem abaixo, contendo os seus dados pessoais.

O código completo, você confere abaixo:

package conta;

import java.util.Scanner;

public class Menu {
	public static void main(String[] args) {

		Scanner leia = new Scanner(System.in);

		int opcao;

		while (true) {

			System.out.println("*****************************************************");
			System.out.println("                                                     ");
			System.out.println("                BANCO DO BRAZIL COM Z                ");
			System.out.println("                                                     ");
			System.out.println("*****************************************************");
			System.out.println("                                                     ");
			System.out.println("            1 - Criar Conta                          ");
			System.out.println("            2 - Listar todas as Contas               ");
			System.out.println("            3 - Buscar Conta por Numero              ");
			System.out.println("            4 - Atualizar Dados da Conta             ");
			System.out.println("            5 - Apagar Conta                         ");
			System.out.println("            6 - Sacar                                ");
			System.out.println("            7 - Depositar                            ");
			System.out.println("            8 - Transferir valores entre Contas      ");
			System.out.println("            9 - Sair                                 ");
			System.out.println("                                                     ");
			System.out.println("*****************************************************");
			System.out.println("Entre com a opção desejada:                          ");
			System.out.println("                                                     ");

			opcao = leia.nextInt();

			if (opcao == 9) {
				System.out.println("\nBanco do Brazil com Z - O seu Futuro começa aqui!");
				sobre();
                 leia.close();
				System.exit(0);
			}

			switch (opcao) {
				case 1:
					System.out.println("Criar Conta\n\n");

					break;
				case 2:
					System.out.println("Listar todas as Contas\n\n");

					break;
				case 3:
					System.out.println("Consultar dados da Conta - por número\n\n");

					break;
				case 4:
					System.out.println("Atualizar dados da Conta\n\n");

					break;
				case 5:
					System.out.println("Apagar a Conta\n\n");

					break;
				case 6:
					System.out.println("Saque\n\n");

					break;
				case 7:
					System.out.println("Depósito\n\n");

					break;
				case 8:
					System.out.println("Transferência entre Contas\n\n");

					break;
				default:
					System.out.println("\nOpção Inválida!\n");
					break;
			}
		}
	}
    
	public static void sobre() {
		System.out.println("\n*********************************************************");
		System.out.println("Projeto Desenvolvido por: ");
		System.out.println("Generation Brasil - generation@generation.org");
		System.out.println("github.com/conteudoGeneration");
		System.out.println("*********************************************************");
	}
}