Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

package Avaliacao;
	import java.util.ArrayList;
	import java.util.List;
	import java.util.Scanner;
	class Moeda {
	 private String nomeMoeda;
	 private double valor;
	 private double taxaCambioParaReal; // Taxa de câmbio para Real (BRL)
	 public Moeda(String nomeMoeda, double valor, double taxaCambioParaReal) {
	 this.nomeMoeda = nomeMoeda;
	 this.valor = valor;
	 this.taxaCambioParaReal = taxaCambioParaReal;
	 
	 if ("Real".equalsIgnoreCase(nomeMoeda)) {
	 this.taxaCambioParaReal = 1.0; // Taxa de câmbio fixa para Real
	 } else {
	 this.taxaCambioParaReal = taxaCambioParaReal; // Usa a taxa fornecida pelo usuário
	 }
	 }
	 public String getNomeMoeda() {
	 return nomeMoeda;
	 }
	 public double getValor() {
	 return valor;
	 }
	 public double getTaxaCambioParaReal() {
	 return taxaCambioParaReal;
	 }
	 @Override //sobrescreve o metodo para represetar a moeda com o valor real
	 public String toString() {
	 return String.format("%s: %s (%.2f BRL)", nomeMoeda, valor, valor * taxaCambioParaReal);
	 }
	}
	// classe cofrinho separada da moeda, responsabilidade unica
	public class Cofrinho {
	 private List<Moeda> moedas;
	 public Cofrinho() {
	 this.moedas = new ArrayList<>();
	 }
	 public void adicionarMoeda(Moeda moeda) {
	 moedas.add(moeda);
	 System.out.println("Moeda adicionada: " + moeda);
	 }
	 public void removerMoeda(int indice) {
	 	//faz a verificação para remoção de moedas dentro do array
	 if (indice >= 0 && indice < moedas.size()) {
	 Moeda removida = moedas.remove(indice);
	 System.out.println("Moeda removida: " + removida);
	 } else {
	 System.out.println("Índice inválido.");
	 }
	 }
	 // verifica se o cofrinho está com moedas
	 public void listarMoedas() {
	 if (moedas.isEmpty()) {
	 System.out.println("O cofrinho está vazio.");
	 } else {
	 System.out.println("Moedas no cofrinho:");
	 for (int i = 0; i < moedas.size(); i++) {
	 System.out.println(i + ": " + moedas.get(i)); // impressao de indice e detalhes da moeda
	 }
	 }
	 }
	 //converte
	 public double calcularTotalEmReal() {
	 double total = 0;
	 for (Moeda moeda : moedas) {
	 total += moeda.getValor() * moeda.getTaxaCambioParaReal();
	 }
	 return total;
	 }
	 public static void main(String[] args) {
	 Scanner scanner = new Scanner(System.in);
	 Cofrinho cofrinho = new Cofrinho(); // inicia execução programa
	 while (true) { //inicia menu principal
	 System.out.println("--- Menu do 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 em Real");
	 System.out.println("5. Sair");
	 System.out.print("Escolha uma opção: ");
	 int opcao = scanner.nextInt();
	 scanner.nextLine(); // Limpar o buffer
	 switch (opcao) {// usa switch para deixar o codigo enxuto e poder testas as opções do menu "juntas"
	 case 1: // adociona moeda conforme digitado pelo usuario
	 System.out.print("Nome da moeda: ");
	 String nomeMoeda = scanner.nextLine();
	 System.out.print("Valor da moeda: ");
	 double valor = scanner.nextDouble();
	 System.out.print("Taxa de câmbio para Real (BRL): ");
	 double taxaCambio = scanner.nextDouble();
	 Moeda novaMoeda = new Moeda( nomeMoeda, valor, taxaCambio);
	 cofrinho.adicionarMoeda(novaMoeda);
	 break;
	 case 2:
	 cofrinho.listarMoedas(); //remove moeda conforme o indice
	 System.out.print("Digite o índice da moeda a ser removida: ");
	 int indice = scanner.nextInt();
	 cofrinho.removerMoeda(indice);
	 break;
	 case 3:
	 cofrinho.listarMoedas(); //lista as moedas
	 break;
	 case 4: // total em real no cofrinho
	 double total = cofrinho.calcularTotalEmReal();
	 System.out.printf("Total no cofrinho: %.2f BRL%n", total); //formatação para aparecer a moeda
	 break;
	 case 5:
	 System.out.println("Saindo do programa...");
	 scanner.close();
	 return;
	 default:
	 System.out.println("Opção inválida. Tente novamente.");
	 }
	 }
	 }
	}

Mais conteúdos dessa disciplina