4 changed files with 102 additions and 0 deletions
@ -0,0 +1,13 @@ |
|||
# TemperatureConverter 温度转换程序 |
|||
## 项目简介 |
|||
这是一个用 Java 实现的温度转换工具,支持**摄氏温度(℃)**与**华氏温度(℉)**的双向转换,同时提供两种运行模式: |
|||
1. 交互式控制台模式(手动选择功能并输入温度) |
|||
2. 命令行参数模式(一键直接转换,无需交互) |
|||
|
|||
核心转换公式: |
|||
- 摄氏温度 → 华氏温度:`F = C × 1.8 + 32` |
|||
- 华氏温度 → 摄氏温度:`C = (F - 32) ÷ 1.8` |
|||
|
|||
--- |
|||
|
|||
## 文件结构 |
|||
@ -0,0 +1,79 @@ |
|||
import java.util.Scanner; |
|||
|
|||
|
|||
/** |
|||
* 温度转换程序:实现摄氏温度与华氏温度的互相转换 |
|||
* 支持控制台输入交互、命令行参数运行模式 |
|||
*/ |
|||
public class TemperatureConverter { |
|||
|
|||
/** |
|||
* 摄氏温度 转 华氏温度 |
|||
* @param celsius 输入的摄氏温度值 |
|||
* @return 转换后的华氏温度值,公式:F = C × 1.8 + 32 |
|||
*/ |
|||
public static double celsiusToFahrenheit(double celsius) { |
|||
return celsius * 1.8 + 32; |
|||
} |
|||
|
|||
/** |
|||
* 华氏温度 转 摄氏温度 |
|||
* @param fahrenheit 输入的华氏温度值 |
|||
* @return 转换后的摄氏温度值,公式:C = (F - 32) / 1.8 |
|||
*/ |
|||
public static double fahrenheitToCelsius(double fahrenheit) { |
|||
return (fahrenheit - 32) / 1.8; |
|||
} |
|||
|
|||
/** |
|||
* 主方法:程序入口,支持两种运行模式 |
|||
* 1. 无参数:控制台交互式输入 |
|||
* 2. 带参数:命令行参数模式 java TemperatureConverter 数值 温度类型(C/F) |
|||
* @param args 命令行参数 |
|||
*/ |
|||
public static void main(String[] args) { |
|||
// 命令行参数模式
|
|||
if (args.length == 2) { |
|||
try { |
|||
double temp = Double.parseDouble(args[0]); |
|||
String type = args[1].toUpperCase(); |
|||
if (type.equals("C")) { |
|||
double res = celsiusToFahrenheit(temp); |
|||
System.out.printf("%.2f ℃ = %.2f ℉%n", temp, res); |
|||
} else if (type.equals("F")) { |
|||
double res = fahrenheitToCelsius(temp); |
|||
System.out.printf("%.2f ℉ = %.2f ℃%n", temp, res); |
|||
} else { |
|||
System.out.println("温度类型仅支持 C(摄氏) / F(华氏)"); |
|||
} |
|||
} catch (Exception e) { |
|||
System.out.println("参数格式错误,示例:java TemperatureConverter 36.6 C"); |
|||
} |
|||
return; |
|||
} |
|||
|
|||
// 控制台交互模式
|
|||
Scanner scanner = new Scanner(System.in); |
|||
System.out.println("===== 温度转换器 ====="); |
|||
System.out.println("1. 摄氏温度转华氏温度"); |
|||
System.out.println("2. 华氏温度转摄氏温度"); |
|||
System.out.print("请选择功能(1/2):"); |
|||
int choice = scanner.nextInt(); |
|||
|
|||
System.out.print("请输入温度数值:"); |
|||
double value = scanner.nextDouble(); |
|||
|
|||
if (choice == 1) { |
|||
double result = celsiusToFahrenheit(value); |
|||
System.out.printf("转换结果:%.2f ℃ = %.2f ℉%n", value, result); |
|||
} else if (choice == 2) { |
|||
double result = fahrenheitToCelsius(value); |
|||
System.out.printf("转换结果:%.2f ℉ = %.2f ℃%n", value, result); |
|||
} else { |
|||
System.out.println("输入选项错误!"); |
|||
} |
|||
scanner.close(); |
|||
} |
|||
} |
|||
|
|||
|
|||
@ -0,0 +1,10 @@ |
|||
{\rtf1\ansi\ansicpg936\cocoartf2822 |
|||
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;} |
|||
{\colortbl;\red255\green255\blue255;} |
|||
{\*\expandedcolortbl;;} |
|||
\paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0 |
|||
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 |
|||
|
|||
\f0\fs24 \cf0 AI \uc0\u21327 \u21161 \u35760 \u24405 \ |
|||
\ |
|||
\uc0\u26412 \u27425 \u20316 \u19994 \u20013 \u25105 \u20511 \u21161 AI\u36741 \u21161 \u23436 \u25104 \u20195 \u30721 \u35821 \u27861 \u32416 \u38169 \u12289 \u36923 \u36753 \u20248 \u21270 \u19982 \u26684 \u24335 \u35268 \u33539 \u25972 \u29702 \u12290 \u31227 \u26893 \u36807 \u31243 \u20013 \u65292 \u25105 \u33258 \u34892 \u23436 \u25104 \u20102 \u25972 \u20307 \u31243 \u24207 \u36923 \u36753 \u35774 \u35745 \u12289 \u28201 \u24230 \u36716 \u25442 \u20844 \u24335 \u32534 \u20889 \u19982 \u20132 \u20114 \u27969 \u31243 \u26500 \u24605 \u65292 \u21033 \u29992 AI\u24110 \u21161 \u26816 \u26597 Java\u35821 \u27861 \u32454 \u33410 \u12289 \u23436 \u21892 \u20195 \u30721 \u27880 \u37322 \u26684 \u24335 \u12289 \u25972 \u29702 \u32534 \u35793 \u36816 \u34892 \u25351 \u20196 \u20197 \u21450 \u35268 \u25972 README\u25991 \u26723 \u25490 \u29256 \u65292 \u20445 \u35777 \u31243 \u24207 \u33021 \u22815 \u31283 \u23450 \u36816 \u34892 \u12289 \u31526 \u21512 \u35838 \u31243 \u20316 \u19994 \u25552 \u20132 \u26631 \u20934 \u12290 } |
|||
|
After Width: | Height: | Size: 656 KiB |
Loading…
Reference in new issue