Prévia do material em texto
Programação Orientada a Objetos -
"COFRINHO DE MOEDAS" em Java.
O trabalho consiste em implementar um pequeno
sistema que emula um "Cofrinho de moedas" em
Java. Crie um menu em que é oferecido ao usuário:
- Adicionar moedas de diferentes valores e países
em seu cofrinho
- Remover moedas específicas do cofrinho.
- Listar todas as moedas que estão dentro do
cofrinho
- Calcular quanto dinheiro existe no cofrinho
convertido para Real
O objetivo principal do trabalho é avaliar o bom uso
do conceito de herança e polimorfismo.
O projeto deve possuir uma classe Principal além
das classes descritas no diagrama UML abaixo.
A classe Cofrinho deve possuir como atributo uma
coleção de Moedas, que por sua vez é uma classe
mãe abstrata de outras classes específicas de Dolar,
Euro, Real, etc... A coleção de Moedas pode ser
implementada utilizando um ArrayList, ou qualquer
outra estrutura de dados que julgue pertinente.
Demais detalhes de implementação ficam a cargo do
aluno que pode desenvolver também classes extras
ou adicionar métodos e atributos conforme julgar
necessário.
ALUNO: SILAS BARBOSA DE ALMEIDA
RU: 1509409
//PASTA COFRINHO
//COFRINHO
package cofrinho;
import java.util.ArrayList;
public abstract class Cofrinho extends Moeda{
public static double totalMoedas;
public static ArrayList<Double> arrayMoedas = new ArrayList<>();
public static ArrayList<String> arrayTipo = new ArrayList<>();
public static void adicionar(double moeda, String tipo) {
arrayMoedas.add(moeda);
arrayTipo.add(tipo);
System.out.println("Adicionado com sucesso");
return;
}
public static void listar() {
for (int i = 0; i < arrayMoedas.size(); i++) {
String result = (i + 1 ) + " - " + arrayTipo.get(i) + " - "
+Double.toString(arrayMoedas.get(i));
System.out.println(result);
}
return;
}
public static void remover(int opção) {
System.out.println(opção);
arrayMoedas.remove(opção - 1);
arrayTipo.remove(opção - 1);
return;
}
public static double conveter() {
System.out.println("heres");
for (int i = 0; i < arrayMoedas.size(); i++) {
totalMoedas += conveterMoeda(arrayMoedas.get(i), arrayTipo.get(i));
}
System.out.println(totalMoedas);
return 0;
}
}
//INTERFACE
package cofrinho;
import java.util.Scanner;
//Criada essa classe pra separar a interface da logica do projeto
public class Interface extends Cofrinho{
public static double moeda;
public static int opção;
public static int tipo;
public static void main(String[] args) throws InterruptedException {
System.out.println("CRIADOR: SILAS BARBOSA DE ALMEIDA");
System.out.println("Olá, Bem-vindo(a) ao Cofrinho java");
menu();
return;
}
public static void menu() throws InterruptedException {
Scanner usuario = new Scanner(System.in);
System.out.println("Selecione umas das opção abaixo");
Thread.sleep(500);
System.out.println("1 - Adicionar moeda \n2 - Listar moeda(s) \n3 - Remover
moedas \n4 - Converter tudo pra real \n5 - Sair");
Thread.sleep(200);
opção = usuario.nextInt();
//Adicionar moedas
if(opção == 1) {
System.out.println("Selecione o tipo de moeda");
System.out.println("1 - Real \n2 - Dolar \n3 - Euro \n4 - Voltar");
tipo = usuario.nextInt();
Thread.sleep(500);
System.out.println("Digite o valor:");
moeda = usuario.nextDouble();
if(tipo == 1) {
adicionar(moeda,"real");
menu();
}
if(tipo == 2) {
adicionar(moeda,"dolar");
menu();
}
if(tipo == 3) {
adicionar(moeda,"euro");
menu();
}
}
//Listar moedas
if(opção == 2) {
System.out.println("Moedas listadas");
listar();
Thread.sleep(500);
menu();
}
//Remover moeda
if(opção == 3) {
System.out.println("Selecione qual moeda deseja remover");
Thread.sleep(500);
listar();
opção = usuario.nextInt();
remover(opção);
menu();
}
//Converter tudo pra real
if(opção == 4) {
conveter();
menu();
}
if(opção == 5) {
System.out.println("Tchau!");
System.exit(0);
}
else if(opção >= 6) {
System.out.println("Opção invalida!");
menu();
}
}
}
//MOEDA
package cofrinho;
import java.util.ArrayList;
import moeda.Real;
import moeda.Euro;
import moeda.Dolar;
public class Moeda {
public static double conveterMoeda(double moedas, String tipo) {
if(tipo == "real") {
Real real = new Real();
real.conveterReal(moedas);
}
if(tipo == "dolar") {
Dolar dolar = new Dolar();
return dolar.conveterReal(moedas);
}
if(tipo == "euro") {
Euro euro = new Euro();
return euro.conveterReal(moedas);
}
return moedas;
}
}
//MODULE-INFO
/**
*
*/
/**
*
*/
module Uninter {
}
//PASTA MOEDA
//DOLAR
package moeda;
public class Dolar {
private static double valorDaMoeda = 5.34;
public double conveterReal(double moeda) {
return moeda * valorDaMoeda;
}
}
//EURO
package moeda;
public class Euro {
private static double valorDaMoeda = 5.34;
public double conveterReal(double moeda) {
return moeda * valorDaMoeda;
}
}
//REAL
package moeda;
public class Real {
private static int valorDaMoeda = 1;
public double conveterReal(double moeda) {
return moeda * valorDaMoeda;
}
}
//PRINT DA TELA
ALUNO: SILAS BARBOSA DE ALMEIDA
RU: 1509409
Almeida
Riscado
Almeida
Riscado