2
respostas

[Projeto] Minha resposta - Conversor de moedas

primeiramente foi criado a interface com o método vazio

package atvModulo4a01;

public interface ConversaoFinanceira {
    public void converterDolarToReal();
}

Logo após foi criado a classe Conversor

    package atvModulo4a01;

    import java.util.Scanner;

    //Crie uma classe ConversorMoeda que implementa uma interface ConversaoFinanceira
    // com o método converterDolarParaReal() para converter um valor em dólar para reais.
    // A classe deve receber o valor em dólar como parâmetro.
    public class ConversorMoeda implements ConversaoFinanceira {
        private double valorEmDolar;
        Scanner s = new Scanner(System.in);

        public double getValorEmDolar() {
            return valorEmDolar;
        }

        public void setValorEmDolar(double valorEmDolar) {
            this.valorEmDolar = valorEmDolar;
        }

        @Override
        public void converterDolarToReal(){
            //valor do dolar hoje 09/09/2024 = 5,58
            System.out.println("========MENU========");
            System.out.println("Digite o valor que você deseja converter: ");
            this.setValorEmDolar(s.nextDouble());
            System.out.println("Hoje o dolar custa 5,58 reais.");
            double valorConvertido = this.getValorEmDolar() * 5.58;
            System.out.println("Convertendo o valor " + this.getValorEmDolar() + " voce terá: " + valorConvertido + " reais.");



        }
    }

E a utilização da main com loop para permanecer no menu caso necessario (ATENÇÃO) por estarem no mesmo pacote a classe scanner foi fechada somente na classe main para não dar conflitos na hora de "inputar" os dados

package atvModulo4a01;

import java.util.Scanner;

public class MainConversorMoeda {
    public static void main(String[] args) {
        ConversorMoeda conversor = new ConversorMoeda();
        Scanner scanner = new Scanner(System.in);
        int opcao = 0;

        while(opcao !=2){
            if (opcao <= 0 && opcao >= 3){
                System.out.println("Por favor insira uma opção válida.");
            }
            System.out.println("\nSelecione uma Opção: ");
            System.out.println("Opção 1 - Converter um valor.");
            System.out.println("Opção 2 - sair.");
            opcao = scanner.nextInt();

            switch (opcao){
                case 1:
                    conversor.converterDolarToReal();
                    break;
                case 2:
                    System.out.println("Você desejou sair.");
                    break;
            }
        }
        scanner.close();
    }
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Oi, Caio! Tudo bem?

Ótimo código, parabéns! Ele está bem estruturado e funcional. Deixo apenas uma sugestão: corrigir a condição do loop if (opcao <= 0 && opcao >= 3) para if (opcao < 1 || opcao > 2) para conseguirmos fazer com que ela em algum momento possa ser verdadeira.

Espero que continue a explorar os conteúdos para ampliar seu conhecimento e desenvolver novas habilidades. Caso tenha restado alguma dúvida em relação a qualquer conteúdo do curso ou atividade, não hesite em perguntar, estou disponível e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!

Entendi. Obrigado pela dica, de fato não tinha pensado nessa possibilidade. Mas ainda tenho uma dúvida, no caso quando escrevi dessa forma, eu pensei que esse if só rodaria caso o usuario ponha algo que nao fosse 1 ou 2, no caso essa opção que vc me mandou seria uma outra forma de fazer ou esse seria mais correto a se utilizar?