• 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

    优点:

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

    缺点:

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

    总结

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

  • 相关阅读:
    mybatis拦截器 + 注解对敏感字段进行加密解密
    浅析Open vSwitch数据结构:哈希表hmap/smap/shash
    深圳-海岸城购物中心数据分析
    白话transformer(三):Q K V矩阵代码演示
    五、伊森商城 前端基础-Vue 计算属性和侦听器 & 过滤器 & 组件化 & 生命周期钩子函数 p25
    计算机毕业设计 SSM人事管理系统 企业人事管理系统 人事管理信息系统Java Vue MySQL数据库 远程调试 代码讲解
    MySql创建分区
    [Kotlin Tutorials 21] 协程的取消
    软件设计师2017上午题基础知识(易错整理)
    【第七章 MySQL体系结构、存储引擎、InnoDB、MyISAM、Memory、存储引擎特点及选择】
  • 原文地址:https://blog.csdn.net/2302_79769114/article/details/133802823