Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Exercício 4, public double

Olá, bom dia! =)

Fiquei com dúvida no exercício 4 sobre o motivo de ter sido usado public double, e não public void, como nos exercícios anteriores.

// Classe ConversorTemperaturaPadrao implementando ConversorTemperatura
public class ConversorTemperaturaPadrao implements ConversorTemperatura {
    @Override
    public double celsiusParaFahrenheit(double temperaturaCelsius) {
        return (temperaturaCelsius * 9 / 5) + 32;
    }

    @Override
    public double fahrenheitParaCelsius(double temperaturaFahrenheit) {
        return (temperaturaFahrenheit - 32) * 5 / 9;
    }
}

Edit: Consegui fazer desse jeito, diferente do jeito do instrutor, só queria entender melhor quando usar um jeito e quando usar outro.

package br.com.carlos.screenmatch.calculos;

public interface ConversorTemperatura {
    void celsiusParaFahrenheit(double celsius);

    void fahrenheitParaCelsius(double fahrenheit);
}
import br.com.carlos.screenmatch.calculos.ConversorTemperatura;

public class ConversorTemperaturaPadrao implements ConversorTemperatura {

    @Override
    public void celsiusParaFahrenheit(double celsius) {
        double result1 = (celsius * 9 / 5) + 32;
        System.out.println("A temperatura " + celsius + " em celsius equivale a " + result1 + " em fahrenheit");
    }

    @Override
    public void fahrenheitParaCelsius(double fahrenheit) {
        double result2 = (fahrenheit - 32) / 1.8;
        System.out.println("A temperatura " + fahrenheit + " em fahrenheit equivale a " + result2 + " em celsius");

    }
}

public class Main {
    public static void main(String[] args) {
        ConversorMoeda conversor = new ConversorMoeda();
        conversor.converterDolarParaReal(50); // Exemplo com o valor em dólar


        CalculadoraSalaRetangular calculadora = new CalculadoraSalaRetangular();
        calculadora.calcularArea(5,6);
        calculadora.calcularPerimetro(10,20);


        TabuadaMultiplicacao tabuada = new TabuadaMultiplicacao();
        tabuada.mostrarTabuada(7);
        tabuada.mostrarTabuada(18);

        ConversorTemperaturaPadrao convertegraus = new ConversorTemperaturaPadrao();
        convertegraus.celsiusParaFahrenheit(100);
        convertegraus.fahrenheitParaCelsius(32);
    }
}
2 respostas
solução!

Oi Carlos, tudo bem?

A escolha entre usar public double ou public void depende do que você quer que o método faça.

No caso do public double, estamos dizendo que o método irá retornar um valor do tipo double. Ou seja, após a execução do método, ele devolverá um número que pode ser usado em outra parte do código.

Por exemplo, no seu método celsiusParaFahrenheit(double temperaturaCelsius), ao usar public double, você está dizendo que esse método irá retornar a temperatura em Fahrenheit, que é um número do tipo double.

Já no caso do public void, estamos dizendo que o método não irá retornar nada. Ele irá executar alguma ação, mas não devolverá nenhum valor após a execução.

No seu método celsiusParaFahrenheit(double celsius), ao usar public void, você está dizendo que esse método irá realizar a conversão e imprimir o resultado na tela, mas não retornará o valor convertido.

Podemos dizer então que escolha entre um e outro depende do que você quer que o método faça. Se você quer que ele retorne um valor para ser usado em outra parte do código, use public double. Se você quer apenas que ele execute alguma ação, mas não necessita de um valor de retorno, use public void.

Espero ter ajudado.

Um abraço e bons estudos.

Mt obrigado pela ajuda Lorena! =))