4 changed files with 56 additions and 0 deletions
Binary file not shown.
@ -0,0 +1,11 @@ |
|||||
|
# 第1周作业:温度转换工具 |
||||
|
|
||||
|
## 文件清单 |
||||
|
- `TemperatureConverter.java`:摄氏/华氏温度转换核心程序 |
||||
|
- `Helloworld.java`:基础 HelloWorld 示例 |
||||
|
- `README.md`:编译与运行说明 |
||||
|
|
||||
|
## 编译命令 |
||||
|
打开终端,进入代码所在目录,执行: |
||||
|
```bash |
||||
|
javac TemperatureConverter.java Helloworld.java |
||||
Binary file not shown.
@ -0,0 +1,45 @@ |
|||||
|
import java.util.Scanner; |
||||
|
|
||||
|
// 温度转换:摄氏(C) ↔ 华氏(F)
|
||||
|
public class TemperatureConverter { |
||||
|
public static void main(String[] args) { |
||||
|
Scanner scanner = new Scanner(System.in); |
||||
|
System.out.print("请输入带有符号的温度值: "); |
||||
|
String input = scanner.nextLine(); |
||||
|
scanner.close(); |
||||
|
|
||||
|
// 空输入直接报错
|
||||
|
if (input.length() < 2) { |
||||
|
System.out.println("输入格式错误"); |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
// 取最后一位为单位,前面为数值字符串
|
||||
|
char unit = input.charAt(input.length() - 1); |
||||
|
String numStr = input.substring(0, input.length() - 1); |
||||
|
|
||||
|
try { |
||||
|
double num = Double.parseDouble(numStr); |
||||
|
double result; |
||||
|
char resUnit; |
||||
|
|
||||
|
if (unit == 'C' || unit == 'c') { |
||||
|
// 摄氏 → 华氏
|
||||
|
result = 1.8 * num + 32; |
||||
|
resUnit = 'F'; |
||||
|
} else if (unit == 'F' || unit == 'f') { |
||||
|
// 华氏 → 摄氏
|
||||
|
result = (num - 32) / 1.8; |
||||
|
resUnit = 'C'; |
||||
|
} else { |
||||
|
System.out.println("输入格式错误"); |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
// 输出保留两位小数
|
||||
|
System.out.printf("转换后的温度是%.2f%c%n", result, resUnit); |
||||
|
} catch (NumberFormatException e) { |
||||
|
System.out.println("输入格式错误"); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue