Browse Source

上传文件至 ''

main
Linyating 1 month ago
parent
commit
ba426faf5a
  1. 28
      README.md
  2. BIN
      TemperatureConverter.class
  3. 66
      TemperatureConverter.java
  4. BIN
      screenshot.png

28
README.md

@ -1,2 +1,28 @@
# java # 温度转换器 TemperatureConverter
## 项目说明
这是一个简单的温度转换程序,可以将摄氏度(°C)与华氏度(°F)相互转换。
本程序由 Python 版本移植为 Java 版本,功能完全一致。
## 功能特性
- 摄氏度 → 华氏度转换
- 华氏度 → 摄氏度转换
- 支持用户交互式输入
- 友好的错误提示
## 编译与运行
### 环境要求
- JDK 8 或更高版本
### 编译
在终端(或命令提示符)中进入程序所在目录,执行:
```bash
javac TemperatureConverter.java
## AI 协助记录
1. 问:“Python 的 input() 在 Java 里怎么写?” → AI 教我使用 Scanner 类。
2. 问:“编译时出现编码错误怎么办?” → AI 教我保存为 ANSI 编码或用 -encoding UTF-8。
3. 问:“怎么运行 Java 程序?” → AI 教我 javac 编译,java 运行。
AI 帮助我完成了从 Python 到 Java 的转换,解决了编码问题。

BIN
TemperatureConverter.class

Binary file not shown.

66
TemperatureConverter.java

@ -0,0 +1,66 @@
/**
* Temperature Converter Program
* Convert between Celsius and Fahrenheit
*/
public class TemperatureConverter {
/**
* Convert Celsius to Fahrenheit
*
* @param celsius Celsius temperature
* @return Fahrenheit temperature
*/
public static double celsiusToFahrenheit(double celsius) {
// Formula: Fahrenheit = Celsius * 9/5 + 32
return celsius * 9.0 / 5.0 + 32.0;
}
/**
* Convert Fahrenheit to Celsius
*
* @param fahrenheit Fahrenheit temperature
* @return Celsius temperature
*/
public static double fahrenheitToCelsius(double fahrenheit) {
// Formula: Celsius = (Fahrenheit - 32) * 5/9
return (fahrenheit - 32.0) * 5.0 / 9.0;
}
/**
* Main method - program entry point
*/
public static void main(String[] args) {
java.util.Scanner scanner = new java.util.Scanner(System.in);
System.out.print("Please enter temperature and unit (e.g. 36.6 C or 97 F): ");
String s = scanner.nextLine().trim();
if (s.isEmpty()) {
System.out.println("Input is empty, program exit.");
scanner.close();
return;
}
String[] parts = s.split(" ");
try {
double value = Double.parseDouble(parts[0]);
String unit = (parts.length > 1) ? parts[1].toUpperCase() : "C";
if (unit.startsWith("C")) {
double f = celsiusToFahrenheit(value);
System.out.printf("%.2f C = %.2f F%n", value, f);
} else if (unit.startsWith("F")) {
double c = fahrenheitToCelsius(value);
System.out.printf("%.2f F = %.2f C%n", value, c);
} else {
System.out.println("Unknown unit, please use C or F.");
}
} catch (Exception e) {
System.out.println("Input error, please use format like: 36.6 C");
} finally {
scanner.close();
}
}
}

BIN
screenshot.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Loading…
Cancel
Save