Tenho que desenvolver um programa em java usando o conceito de polimorfismo. Estou com dificuldade e acontece que deixei para última hora.
A lógica é: Eu adiciono moedas de dolar, euro, real e o programa adiciona, remove, lista, cacula e encerra Classe TelaInicial
com os menus eu consegui fazer.
import java.util.Scanner;
public class TelaInicio {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
int opcao;
System.out.println("COFRINHO:");
System.out.println("1-Adicionar Moeda");
System.out.println("2-Remover Moeda");
System.out.println("3-Listar Moedas");
System.out.println("4-Calcular total convertido para real");
System.out.println("0-Encerrar");
opcao = teclado.nextInt();
int tipoMoeda;
double moeda;
while(opcao!=0) {
switch(opcao) {
case 1:
tipoMoeda=0;
while(tipoMoeda > 3 || tipoMoeda <= 0) {
System.out.println("Escolha a moeda");
System.out.println("1-Dolar");
System.out.println("2-Euro");
System.out.println("3-Real");
tipoMoeda = teclado.nextInt();
}
System.out.println("Digite o valor?");
moeda = teclado.nextInt();
break;
case 2:
tipoMoeda=0;
while(tipoMoeda > 3 || tipoMoeda <= 0) {
System.out.println("Escolha a moeda para remover");
System.out.println("1-Dolar");
System.out.println("2-Euro");
System.out.println("3-Real");
tipoMoeda = teclado.nextInt();
}
System.out.println("Digite o valor?");
moeda = teclado.nextInt();
break;
case 3:
System.out.println("Listar moedas adicionadas");
break;
case 4:
System.out.println("Converter valores");
break;
default:
System.out.println("Opcao invalida!");
}
System.out.println("COFRINHO:");
System.out.println("1-Adicionar Moeda");
System.out.println("2-Remover Moeda");
System.out.println("3-Listar Moedas");
System.out.println("4-Calcular total convertido para real");
System.out.println("0-Encerrar");
opcao = teclado.nextInt();
}
}
}
//Classe Cofrinho
public class Cofrinho {
private int listaMoedas;
public void adicionarMoeda(){
}
public void removerMoeda(){
}
public void listagemMoeda(){
}
public void totalConvertido(){
}
}
//Classe Moedas
public abstract class Moeda {
double valor;
public Moeda(double valor) {
this.valor = valor;
}
public abstract void info();
public abstract double converter();
}
//Classe Dolar
public class Dolar extends Moeda {
double dolar;
public Dolar(double valor, double dolar) {
super(valor);
this.dolar = dolar;
}
@Override
public void info(){
System.out.println("Dolar: " + dolar);
}
@Override
public double converter(){
dolar = dolar * 5.19;
return dolar;
}
}
//Classe Euro
public class Euro extends Moeda {
double euro;
public Euro(double valor, double euro) {
super(valor);
this.euro = euro;
}
@Override
public void info(){
System.out.println("Euro: " + euro);
}
@Override
public double converter(){
euro = euro * 6.20;
return euro;
}
}
Classe real
public class Real extends Moeda {
double real;
public Real(double valor, double real) {
super(valor);
this.real = real;
}
@Override
public void info(){
System.out.println("Real: " + real);
}
@Override
public double converter(){
real = real * 6.2;
return real;
}
}