4 changed files with 94 additions and 2 deletions
@ -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 的转换,解决了编码问题。 |
|||
Binary file not shown.
@ -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(); |
|||
} |
|||
} |
|||
} |
|||
|
After Width: | Height: | Size: 24 KiB |
Loading…
Reference in new issue