Buscar

portfólio LINGUAGEM ORIENTADA A OBJETO (1)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ANHANGUERA EDUCACIONAL
VILA MARIANA
ENGENHARIA DE SOFTWARE - BACHARELADO
SÃO PAULO – SP
2023
PORTFÓLIO - RELATÓRIO DE AULA PRÁTICA:
LINGUAGEM ORIENTADA A OBJETO
Trabalho de portfólio apresentado como requisito parcial para
obtenção de pontos para a média semestral.
Orientador:
SÃO PAULO – SP
2023
3
INTRODUÇÃO
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.
MÉTODO
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.
Em seguida, durante a minha elaboração, decidi criar a primeira estrutura utilizando if e else:
4
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:
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.
Aqui 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
5
no menu mostrado acima:
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:
6
RESULTADOS
O resultado da aula prática ficou dentro do proposto, e o código rodou como esperado.
Então segue os testes finalizado:
7
8
CÓDIGO FONTE:
PACKAGE COM.MYCOMPANY.GERENCIABANCO;
IMPORT JAVA.UTIL.SCANNER;
/**
*
* @AUTHOR FRANCIELE LIRA
*/
PUBLIC CLASS GERENCIABANCO {
PRIVATE STRING NOME;
PRIVATE STRING SOBRENOME;
PRIVATE STRING CPF;
PRIVATE DOUBLE SALDO;
PUBLIC GERENCIABANCO (STRING NOME, STRING SOBRENOME, STRING CPF) {
THIS.NOME = NOME;
THIS.SOBRENOME = SOBRENOME;
THIS.CPF = CPF;
THIS.SALDO = 0.0;
}
PUBLIC VOID CONSULTARSALDO() {
SYSTEM.OUT.PRINTLN("O SALDO ATUAL DA SUA CONTA É: " + SALDO);
}
PUBLIC VOID FAZERDEPOSITO(DOUBLE VALOR) {
SALDO += VALOR; // ACRESENTAR O VALOR DIGITADO PELO CLIENTE AO SALDO.
SYSTEM.OUT.PRINTLN("DEPÓSITO DE R$" + VALOR + " EFETUADO COM SUCESSO!");
}
PUBLIC VOID FAZERSAQUE(DOUBLE VALOR) {
//SE O SALDO FOR MENOR AO VALOR DIGITADO ENTÃO:
IF (VALOR <= SALDO) {
SALDO -= VALOR; // RETIRAR VALOR DIGITADO DO SALDO.
SYSTEM.OUT.PRINTLN("SAQUE DE R$" + VALOR + " EFETUADO COM SUCESSO!");
} ELSE {
9
SYSTEM.OUT.PRINTLN("POXA, VERIFIQUEI AQUI QUE O SEU SALDO É "
+ "INSUFICIENTE PARA REALIZAR O SAQUE.");
}
}
// PARTE DO CLIENTE
PUBLIC STATIC VOID MAIN(STRING[] ARGS) {
SCANNER SCANNER = NEW SCANNER(SYSTEM.IN); // INICIALIZANDO O SCANNER.
SYSTEM.OUT.PRINTLN("OLÁ, BEM-VINDO AO NOSSO BANCO!");
SYSTEM.OUT.PRINT("PARA COMEÇAR POR FAVOR DIGITE SEU NOME: ");
STRING NOME = SCANNER.NEXTLINE();
SYSTEM.OUT.PRINT("CERTO "+ NOME + ". DIGITE TAMBÉM O SEU SOBRENOME: ");
STRING SOBRENOME = SCANNER.NEXTLINE();
SYSTEM.OUT.PRINT("LEGAL " + NOME + " " + SOBRENOME +
". É UM PRAZER RECEBER VOCÊ AQUI! :)");
SYSTEM.OUT.PRINT("\NAGORA POR FAVOR DIGITE SEU CPF: ");
STRING CPF = SCANNER.NEXTLINE();
GERENCIABANCO CONTA = NEW GERENCIABANCO(NOME, SOBRENOME, CPF);
WHILE (TRUE) {
SYSTEM.OUT.PRINTLN("\N CERTO, PARA CONTINUAR ESCOLHA UMA OPÇÃO:");
SYSTEM.OUT.PRINTLN("1. CONSULTAR SALDO");
SYSTEM.OUT.PRINTLN("2. DEPÓSITO");
SYSTEM.OUT.PRINTLN("3. SAQUE");
SYSTEM.OUT.PRINTLN("4. SAIR");
INT OPCAO = SCANNER.NEXTINT(); // LER A OPÇÃO DIGITADA PELO CLIENTE.
SWITCH (OPCAO) {
CASE 1:
CONTA.CONSULTARSALDO();
BREAK;
CASE 2:
TRY {
SYSTEM.OUT.PRINT("DIGITE O VALOR DO DEPÓSITO: ");
DOUBLE VALORDEPOSITO = SCANNER.NEXTDOUBLE();
10
CONTA.FAZERDEPOSITO(VALORDEPOSITO);
} CATCH (JAVA.UTIL.INPUTMISMATCHEXCEPTION E) {
SYSTEM.OUT.PRINTLN("VALOR DE DEPÓSITO ESTÁ INVÁLIDO. "
+ "CERTIFIQUE-SE DE USAR O FORMATO CORRETO (POR EXEMPLO, 585,20).");
SCANNER.NEXTLINE(); // LIMPAR O BUFFER DO SCANNER
}
BREAK;
CASE 3:
SYSTEM.OUT.PRINT("DIGITE O VALOR DO SAQUE: ");
DOUBLE VALORSAQUE = SCANNER.NEXTDOUBLE();
CONTA.FAZERSAQUE(VALORSAQUE);
BREAK;
CASE 4:
SYSTEM.OUT.PRINTLN("OBRIGADA PELA PREFERENCIA, SERÁ SEMPRE UM PRAZER ATENDER
VOCÊ " +
NOME
+ ". ATÉ BREVE! :) ");
SCANNER.CLOSE();
SYSTEM.EXIT(0);
DEFAULT:
SYSTEM.OUT.PRINTLN("OPÇÃO DIGITADA ESTÁ INVÁLIDA. TENTE NOVAMENTE.");
}
}
}
}

Continue navegando