• JAVA经典百题之温度转换


    题目:输入一个浮点数f, 表示华氏温度, 输出对应的摄氏温度c , c=5/9*(f-32)

    程序分析

    要将华氏温度转换为摄氏温度,可以使用公式c = 5/9 * (f - 32),其中c表示摄氏温度,f表示华氏温度。我们需要实现一个程序,接受用户输入的华氏温度,然后计算并输出对应的摄氏温度。

    以下是三种不同的方法来实现这个转换:

    方法一:使用标准输入输出

    解题思路:

    1. 使用标准输入读取用户输入的浮点数f。
    2. 使用给定的公式计算摄氏温度c。
    3. 使用标准输出打印计算结果c。

    实现代码:

    import java.util.Scanner;
    
    public class FahrenheitToCelsius {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            System.out.print("Enter the temperature in Fahrenheit: ");
            double fahrenheit = scanner.nextDouble();
    
            double celsius = (5.0 / 9.0) * (fahrenheit - 32);
    
            System.out.println("Temperature in Celsius: " + celsius);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    优点:

    • 简单,不需要额外的复杂逻辑。
    • 使用标准输入输出,易于理解和实现。

    缺点:

    • 不适用于直接嵌入到其他代码中。

    方法二:封装为函数

    解题思路:

    1. 创建一个函数,该函数接受一个浮点数f作为参数,并返回对应的摄氏温度c。
    2. 在函数中使用给定的公式计算摄氏温度c。
    3. 在主程序中调用该函数,将用户输入的fahrenheit传递给函数,并打印计算结果。

    实现代码:

    import java.util.Scanner;
    
    public class FahrenheitToCelsius {
        public static double convertToFahrenheit(double fahrenheit) {
            return (5.0 / 9.0) * (fahrenheit - 32);
        }
    
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            System.out.print("Enter the temperature in Fahrenheit: ");
            double fahrenheit = scanner.nextDouble();
    
            double celsius = convertToFahrenheit(fahrenheit);
    
            System.out.println("Temperature in Celsius: " + celsius);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    优点:

    • 封装为函数,可以在其他地方重复使用。
    • 代码更模块化和可维护。

    缺点:

    • 需要额外的函数定义和调用。

    方法三:命令行参数

    解题思路:

    1. 在程序中使用命令行参数,将用户输入的浮点数fahrenheit作为参数传递给程序。
    2. 使用给定的公式计算摄氏温度c。
    3. 使用标准输出打印计算结果c。

    实现代码:

    public class FahrenheitToCelsius {
        public static void main(String[] args) {
            if (args.length != 1) {
                System.err.println("Usage: java FahrenheitToCelsius ");
                System.exit(1);
            }
    
            double fahrenheit = Double.parseDouble(args[0]);
    
            double celsius = (5.0 / 9.0) * (fahrenheit - 32);
    
            System.out.println("Temperature in Celsius: " + celsius);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    优点:

    • 可以从命令行传递参数,适用于批处理和自动化脚本。
    • 代码更通用,可在不同上下文中使用。

    缺点:

    • 用户需要在命令行中提供参数,可能不够用户友好。

    总结

    推荐使用方法一或方法二,具体取决于使用场景。方法一非常简单,适用于交互式的命令行应用,但不适合嵌入到其他代码中。方法二更具通用性,可以封装为函数,以便在其他代码中重复使用。方法三适用于需要批处理或自动化脚本的情况,但需要用户手动提供命令行参数。选择方法应根据具体需求和用例来决定。

  • 相关阅读:
    python树结构包treelib入门及其计算应用
    【Azure Event Hub】自定义告警(Alert Rule)用来提示Event Hub的消息incoming(生产)与outgoing(消费)的异常情况
    python—openpyxl操作excel详解
    react如何根据变量渲染组件
    第八章 排序 七、堆排序
    Web前端-Vue2+Vue3基础入门到实战项目-Day1(初始Vue, Vue指令, 小黑记事本)
    一篇文章让你入门【MySQL】
    计算机毕业设计JAVA的IT技术交流和分享平台的设计与实现mybatis+源码+调试部署+系统+数据库+lw
    数据结构——栈与队列
    C++ Reference: Standard C++ Library reference: C Library: cmath: remainder
  • 原文地址:https://blog.csdn.net/2302_79769114/article/details/133802823