Prévia do material em texto
<p>UNIVERSIDADE ANHANGUERA AMPLI EDUCACIONAL</p><p>ENGENHARIA DE SOFTWARE</p><p>RELATÓRIO DA AULA PRÁTICA DE LINGUAGEM ORIENTADA A OBJETO</p><p>elatóSISTEMA GOOGLE CLOUD SHELL EDITOR.</p><p>BRUNNO DO CARMO MIRA</p><p>BAHIA-BA</p><p>2024</p><p>INTRODUÇÃO :</p><p>Na aula prática foi proposta a construção de uma aplicação Java utilizando os principais conceitos do paradigma de Orientação a Objetos, onde iremos criar um projeto baseado em uma conta bancária.</p><p>MÉTODO:</p><p>Na aula prática, foi necessário criar um novo projeto, utilizando Java With Maven e Java Application com o nome GerenciaBanco. Logo após a inicialização comecei a montar a estrutura inicial do código, optei por iniciar com o saldo em zero e usar o Double por ser uma variável que permite armazenar números decimais com alta precisão.</p><p>Em seguida, durante a minha elaboração, decidi criar a primeira estrutura utilizando if e else:</p><p>Utilizando o método main comecei a codificar a parte do cliente do banco, inicializei o scanner para que o cliente pudesse digitar o que foi pedido e utilizando o scanner.nextLine() para receber o que foi digitado. Resolvi fazer uma concatenação com o nome e o sobrenome e uma frase que escolhi aleatoriamente, como se a aplicação estivesse conversando com o usuário, para que ficasse mais “interativo” e um pouco mais divertido:</p><p>Já no menu de escolha criei uma estrutura de repetição utilizando o While, ou seja, enquanto a condição for verdadeira (True) ele vai continuar em loop.</p><p>Logo depois utilizei a estrutura de controle de fluxo condicional Switch como orientado no documento disponibilizado pela faculdade, e novamente o scanner para ler qual foi a escolha do cliente com base no menu mostrado acima:</p><p>Durante o teste do meu código reparei que quando eu colocava um número com o formato inesperado no momento do depósito, ou seja um que não se enquadra no double, a IDE me retornava o seguinte erro: java.util.InputMismatchException. Para fazer o tratamento deste erro optei por usar o mecanismo de controle de exceções do Java, utilizei então o Try e o Catch. Optei durante o tratamento da exceção colocar uma mensagem especifica:</p><p>RESULTADOS O resultado da aula prática ficou dentro do proposto, e o código rodou como esperado. Então segue os testes finalizado:</p><p>CÓDIGO FONTE:</p><p>PACKAGE COM.MYCOMPANY.GERENCIABANCO;</p><p>IMPORT JAVA.UTIL.SCANNER;</p><p>/**</p><p>*</p><p>* @AUTHOR BRUNNO MIRA</p><p>*/</p><p>PUBLIC CLASS GERENCIABANCO {</p><p>PRIVATE STRING NOME;</p><p>PRIVATE STRING SOBRENOME;</p><p>PRIVATE STRING CPF;</p><p>PRIVATE DOUBLE SALDO;</p><p>PUBLIC GERENCIABANCO (STRING NOME, STRING SOBRENOME, STRING CPF) {</p><p>THIS.NOME = NOME;</p><p>THIS.SOBRENOME = SOBRENOME;</p><p>THIS.CPF = CPF;</p><p>THIS.SALDO = 0.0;</p><p>}</p><p>PUBLIC VOID CONSULTARSALDO() {</p><p>SYSTEM.OUT.PRINTLN("O SALDO ATUAL DA SUA CONTA É: " + SALDO);}</p><p>PUBLIC VOID FAZERDEPOSITO(DOUBLE VALOR) {</p><p>SALDO += VALOR; // ACRESENTAR O VALOR DIGITADO PELO CLIENTE AO SALDO.</p><p>SYSTEM.OUT.PRINTLN("DEPÓSITO DE R$" + VALOR + " EFETUADO COM SUCESSO!");}</p><p>PUBLIC VOID FAZERSAQUE(DOUBLE VALOR) {</p><p>//SE O SALDO FOR MENOR AO VALOR DIGITADO ENTÃO:</p><p>IF (VALOR <= SALDO) {</p><p>SALDO -= VALOR; // RETIRAR VALOR DIGITADO DO SALDO.</p><p>SYSTEM.OUT.PRINTLN("SAQUE DE R$" + VALOR + " EFETUADO COM SUCESSO!");</p><p>} ELSE {</p><p>SYSTEM.OUT.PRINTLN("POXA, VERIFIQUEI AQUI QUE O SEU SALDO É "</p><p>+ "INSUFICIENTE PARA REALIZAR O SAQUE."); }</p><p>}</p><p>// PARTE DO CLIENTE</p><p>PUBLIC STATIC VOID MAIN(STRING[] ARGS) {</p><p>SCANNER SCANNER = NEW SCANNER(SYSTEM.IN); // INICIALIZANDO O SCANNER</p><p>SYSTEM.OUT.PRINTLN("OLÁ, BEM-VINDO AO NOSSO BANCO!");</p><p>SYSTEM.OUT.PRINT("PARA COMEÇAR POR FAVOR DIGITE SEU NOME: ");</p><p>STRING NOME = SCANNER.NEXTLINE();</p><p>SYSTEM.OUT.PRINT("CERTO "+ NOME + ". DIGITE TAMBÉM O SEU SOBRENOME: ");</p><p>STRING SOBRENOME = SCANNER.NEXTLINE();</p><p>SYSTEM.OUT.PRINT("LEGAL " + NOME + " " + SOBRENOME +</p><p>". É UM PRAZER RECEBER VOCÊ AQUI! :)");</p><p>SYSTEM.OUT.PRINT("\NAGORA POR FAVOR DIGITE SEU CPF: ");</p><p>STRING CPF = SCANNER.NEXTLINE();</p><p>GERENCIABANCO CONTA = NEW GERENCIABANCO(NOME, SOBRENOME, CPF);</p><p>WHILE (TRUE) {</p><p>SYSTEM.OUT.PRINTLN("\N CERTO, PARA CONTINUAR ESCOLHA UMA OPÇÃO:");</p><p>SYSTEM.OUT.PRINTLN("1. CONSULTAR SALDO");</p><p>SYSTEM.OUT.PRINTLN("2. DEPÓSITO");</p><p>SYSTEM.OUT.PRINTLN("3. SAQUE");</p><p>SYSTEM.OUT.PRINTLN("4. SAIR");</p><p>INT OPCAO = SCANNER.NEXTINT(); // LER A OPÇÃO DIGITADA PELO CLIENTE.</p><p>SWITCH (OPCAO) {</p><p>CASE 1:</p><p>CONTA.CONSULTARSALDO();</p><p>BREAK;</p><p>CASE 2:</p><p>TRY {</p><p>SYSTEM.OUT.PRINT("DIGITE O VALOR DO DEPÓSITO: ");</p><p>DOUBLE VALORDEPOSITO = SCANNER.NEXTDOUBLE();</p><p>CONTA.FAZERDEPOSITO(VALORDEPOSITO);</p><p>} CATCH (JAVA.UTIL.INPUTMISMATCHEXCEPTION E) {</p><p>SYSTEM.OUT.PRINTLN("VALOR DE DEPÓSITO ESTÁ INVÁLIDO. "</p><p>+ "CERTIFIQUE-SE DE USAR O FORMATO CORRETO (POR EXEMPLO, 585,20).");</p><p>SCANNER.NEXTLINE(); // LIMPAR O BUFFER DO SCANNER}</p><p>BREAK;</p><p>CASE 3:</p><p>SYSTEM.OUT.PRINT("DIGITE O VALOR DO SAQUE: ");</p><p>DOUBLE VALORSAQUE = SCANNER.NEXTDOUBLE();</p><p>CONTA.FAZERSAQUE(VALORSAQUE);</p><p>BREAK;</p><p>CASE 4:</p><p>SYSTEM.OUT.PRINTLN("OBRIGADA PELA PREFERENCIA, SERÁ SEMPRE UM PRAZER ATENDER VOCÊ " +</p><p>NOME</p><p>+ ". ATÉ BREVE! :) ");</p><p>SCANNER.CLOSE();</p><p>SYSTEM.EXIT(0);</p><p>DEFAULT:</p><p>SYSTEM.OUT.PRINTLN("OPÇÃO DIGITADA ESTÁ INVÁLIDA. TENTE NOVAMENTE.");</p><p>}</p><p>}</p><p>}</p><p>}</p><p>image7.jpeg</p><p>image8.jpeg</p><p>image9.jpeg</p><p>image10.jpeg</p><p>image1.jpeg</p><p>image2.jpeg</p><p>image3.jpeg</p><p>image4.jpeg</p><p>image5.jpeg</p><p>image6.jpeg</p>