1
resposta

[Projeto] Desafio de temperatura com entrada de dados pelo usuário

import java.util.Scanner;
public class DesafioTemperatura{
public static void main(String[] args) {

    // Cabeçalho do programa
    String cabecalho;
    cabecalho = """
            ------------------------------------
            PROGRAMA DE CONVERSÃO DE TEMPERATURA
            DE GRAUS CELSIUS PARA FAHREINHEIT! 
            ------------------------------------
            """;
    System.out.println(cabecalho);

    //Váriaveis
    double celsius;
    double fahreinheit;

    // Usuário irá digitar o valor que deseja converter
    Scanner dados = new Scanner(System.in);
    System.out.println("Informe a temperatura em graus Celsius que deseja converter: ");
    celsius = dados.nextInt();

    // Processo de conversão dos dados
    fahreinheit = (celsius * 1.8) + 32;

    // Resultado
    String resultado = String.format("A temperatura de %f Celsius equivale a %f Fahreinheit.", celsius, fahreinheit);
    System.out.println(resultado);
    int fahreinheitInteiro = (int) fahreinheit;
    System.out.println("O valor inteiro em Fahreinheit é: " + fahreinheitInteiro + "Fº");
}

}

1 resposta

Olá Cristóvão,

Sua implementação está correta. Além disso, é importante lembrar que o método nextInt() da classe Scanner só aceita valores inteiros, então se o usuário digitar um valor com casas decimais, o programa irá quebrar. Para evitar isso, você pode utilizar o método nextDouble() que aceita valores com casas decimais.

Segue abaixo uma sugestão de implementação com essas melhorias:


import java.util.Scanner;

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

        // Mensagem de boas-vindas
        System.out.println("Bem-vindo ao programa de conversão de temperatura!");

        // Cabeçalho do programa
        String cabecalho;
        cabecalho = """
                ------------------------------------
                PROGRAMA DE CONVERSÃO DE TEMPERATURA
                DE GRAUS CELSIUS PARA FAHRENHEIT! 
                ------------------------------------
                """;
        System.out.println(cabecalho);

        //Váriaveis
        double celsius;
        double fahrenheit;

        // Usuário irá digitar o valor que deseja converter
        Scanner dados = new Scanner(System.in);
        System.out.println("Informe a temperatura em graus Celsius que deseja converter: ");
        celsius = dados.nextDouble();

        // Processo de conversão dos dados
        fahrenheit = (celsius * 1.8) + 32;

        // Resultado
        String resultado = String.format("A temperatura de %.2f Celsius equivale a %.2f Fahrenheit.", celsius, fahrenheit);
        System.out.println(resultado);
        int fahrenheitInteiro = (int) fahrenheit;
        System.out.println("O valor inteiro em Fahrenheit é: " + fahrenheitInteiro + "Fº");

        // Mensagem de despedida
        System.out.println("Obrigado por utilizar o programa de conversão de temperatura!");
    }
}

Espero ter ajudado e bons estudos!