3
respostas

[Projeto] Aceito sugestões de mudança

Fiz o código utilizando o scanner para armazenar dados

import java.util.Scanner;

public class Main { public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    System.out.println("Conversor de Temperatura");
    System.out.println("Qual a temperatura? ");
    int temp = sc.nextInt();

    double conv = (temp * 1.8) + 32;

    System.out.println("A conversão de Graus para Fahrenheit " +conv);


}

}

3 respostas

Olá Tiago! Tudo bem?

Você fez um ótimo trabalho em seu código! Você já está utilizando a fórmula correta para converter Celsius para Fahrenheit. Como pediu sugestões, a atividade pede que você exiba a temperatura em Fahrenheit como um valor inteiro, sem casas decimais. Para isso, você pode fazer um casting do resultado da conversão para um tipo int. Algo assim:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        System.out.println("Conversor de Temperatura");
        System.out.println("Qual a temperatura em Celsius? ");
        int temp = sc.nextInt();

        double conv = (temp * 1.8) + 32;
        
        int convInt = (int) conv; // casting para int

        System.out.println("A conversão de Graus para Fahrenheit é " + convInt + " sem casas decimais.");
    }
}

Com essa pequena alteração, você agora está convertendo a temperatura para um valor inteiro antes de imprimir.

Por fim, quero te dar os parabéns pela dedicação em realizar a atividade e por buscar sugestões de melhoria. É assim que se evolui, continue firme nos estudos!

Em caso de dúvidas, conte com o apoio do fórum :)

Um abraço e bons estudos!

o meu esta com erro

//TIP To Run code, press or // click the icon in the gutter. public class DesafioTemperatura{

public static void main(String []argss) {
    double temperaturaEmCelsius = 30.4;
    double temperaturaEmFahrenheit = (temperaturaEmCelsius * 1.8) + 32;

    String mensagem = String.format("A temperatura de %f Celsius é equivalente a $f Fahrenheit", temperaturaEmCelsius, temperaturaEmFahrenheit);

    System.out.println(mensagem);

    int temperaturaEmFahrenheitInteira = (int) temperaturaEmFahrenheit;
    System.out.println("A temperatura em Fahrenheit inteira é: " + temperaturaEmFahrenheitInteira);



}

}

Oi Mario, tudo bem?

No seu código, há um pequeno erro na string formatada. No String.format, você utilizou o símbolo $f ao invés de %f para formatar a variável temperaturaEmFahrenheit. O correto é usar %f tanto para o valor em Celsius quanto para o valor em Fahrenheit. Aqui está o ajuste:

public class DesafioTemperatura {

    public static void main(String[] args) {
        double temperaturaEmCelsius = 30.4;
        double temperaturaEmFahrenheit = (temperaturaEmCelsius * 1.8) + 32;

        // Corrigindo a formatação da string
        String mensagem = String.format("A temperatura de %.2f Celsius é equivalente a %.2f Fahrenheit", 
                                         temperaturaEmCelsius, temperaturaEmFahrenheit);

        System.out.println(mensagem);

        int temperaturaEmFahrenheitInteira = (int) temperaturaEmFahrenheit;
        System.out.println("A temperatura em Fahrenheit inteira é: " + temperaturaEmFahrenheitInteira);
    }
}

Agora, com %f no lugar certo, o código vai rodar corretamente e exibir as duas temperaturas formatadas. Além disso, coloquei %.2f para limitar a saída a duas casas decimais, mas você pode ajustar conforme necessário. Não sei se esse é o erro que você se referiu, mas testando o código foi o único detalhe que encontrei.

Se precisar de mais ajuda, o fórum está à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!