Compare commits
6 Commits
main
...
wangyanshu
| Author | SHA1 | Date |
|---|---|---|
|
|
967fead38f | 4 weeks ago |
|
|
a68292f788 | 4 weeks ago |
|
|
456cd60dc0 | 4 weeks ago |
|
|
20428e78cb | 4 weeks ago |
|
|
4e1080ba4e | 4 weeks ago |
|
|
31c683359b | 4 weeks ago |
6 changed files with 39 additions and 80 deletions
@ -1,6 +0,0 @@ |
|||
AI 协助内容: |
|||
1. 提供了完整可运行的 Java 代码结构与清晰中文注释; |
|||
2. 指导了在 IntelliJ IDEA 中新建项目、创建类、粘贴代码、运行程序的完整流程; |
|||
3. 解决了文件名与公共类名不一致的编译报错; |
|||
4. 生成了 README.md 模板与 AI 协助记录模板。 |
|||
我在此基础上核对了转换公式逻辑,确认功能无误后完成作业。 |
|||
@ -1,15 +0,0 @@ |
|||
# 温度转换程序 - Java 版本 |
|||
|
|||
## 项目信息 |
|||
- **文件名**:TemperatureConverter.java |
|||
- **功能**:实现摄氏温度与华氏温度的双向转换。 |
|||
- **特性**: |
|||
- 支持交互式输入,格式为 `数值 单位`(例如:`36.6 C`)。 |
|||
- 支持单位大小写不敏感(输入 `c` 或 `f` 均可)。 |
|||
- 输入异常处理,提示用户规范输入。 |
|||
|
|||
## 编译与运行命令 |
|||
|
|||
### 1. 编译 (Compile) |
|||
确保已安装 JDK 并配置了环境变量,在项目目录下执行: |
|||
javac TemperatureConverter.java |
|||
@ -1,59 +0,0 @@ |
|||
import java.util.Scanner; |
|||
|
|||
/** |
|||
* 温度转换器示例程序(Java) |
|||
* 支持摄氏度(C)与华氏度(F)之间互转 |
|||
*/ |
|||
public class TemperatureConverter { |
|||
|
|||
/** |
|||
* 将摄氏度转换为华氏度 |
|||
* @param c 摄氏温度 |
|||
* @return 对应的华氏温度 |
|||
*/ |
|||
public static double celsiusToFahrenheit(double c) { |
|||
return c * 9.0 / 5.0 + 32.0; |
|||
} |
|||
|
|||
/** |
|||
* 将华氏度转换为摄氏度 |
|||
* @param f 华氏温度 |
|||
* @return 对应的摄氏温度 |
|||
*/ |
|||
public static double fahrenheitToCelsius(double f) { |
|||
return (f - 32.0) * 5.0 / 9.0; |
|||
} |
|||
|
|||
public static void main(String[] args) { |
|||
Scanner scanner = new Scanner(System.in); |
|||
|
|||
System.out.print("请输入要转换的温度与单位(例如 36.6 C 或 97 F):"); |
|||
String s = scanner.nextLine().trim(); |
|||
|
|||
if (s.isEmpty()) { |
|||
System.out.println("输入为空,程序退出。"); |
|||
scanner.close(); |
|||
return; |
|||
} |
|||
|
|||
String[] parts = s.split("\\s+"); |
|||
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("未知单位,请使用 C 或 F。"); |
|||
} |
|||
} catch (Exception e) { |
|||
System.out.println("输入解析失败,请按示例输入数值与单位,例如:36.6 C"); |
|||
} |
|||
|
|||
scanner.close(); |
|||
} |
|||
} |
|||
@ -0,0 +1,31 @@ |
|||
// 定义Student类 |
|||
class Student { |
|||
// 定义属性 |
|||
int studentId; |
|||
String name; |
|||
double score; |
|||
|
|||
// 定义study方法 |
|||
void study() { |
|||
System.out.println("学生" + name + "(学号:" + studentId + ")正在学习,当前成绩为:" + score); |
|||
} |
|||
} |
|||
|
|||
// 主类 |
|||
public class StudentTest { |
|||
public static void main(String[] args) { |
|||
// 实例化第一个Student对象 |
|||
Student student1 = new Student(); |
|||
student1.studentId = 101; |
|||
student1.name = "张三"; |
|||
student1.score = 92.5; |
|||
student1.study(); // 调用study方法 |
|||
|
|||
// 实例化第二个Student对象 |
|||
Student student2 = new Student(); |
|||
student2.studentId = 102; |
|||
student2.name = "李四"; |
|||
student2.score = 88.0; |
|||
student2.study(); // 调用study方法 |
|||
} |
|||
} |
|||
@ -0,0 +1,8 @@ |
|||
为什么需要显式数据类型声明? |
|||
Java 是静态类型语言,编译期会进行类型检查,显式声明能提前发现类型不匹配的错误,保障程序稳定性;同时编译器可基于类型做优化,提升运行效率。而 Python 是动态类型语言,类型检查在运行时完成 |
|||
为什么需要 public 这类访问修饰符? |
|||
访问修饰符(public/private/protected)是 Java 封装特性的核心,用于控制类、属性、方法的可见范围: |
|||
public 表示公开可访问,允许外部调用; |
|||
private 表示仅类内部可见,用于隐藏内部实现,保护数据安全; |
|||
这种权限控制能提升代码的可维护性与安全性。 |
|||
通过本次 Python 到 Java 8 的代码转换实践,我深刻体会到两种面向对象语言的设计差异。Python 动态类型让代码简洁灵活,开发效率更高;而 Java 静态类型虽增加了代码量,却能在编译期提前规避类型错误,更适合大型工程化开发。public 等访问修饰符的使用,让我理解了封装的核心思想——通过权限隔离实现“高内聚、低耦合”,这是保障代码可维护性的关键。这次转换不仅让我掌握了 Java 类的定义与对象实例化,更建立了面向对象编程的工程化思维,为后续学习打下了坚实基础。 |
|||
|
Before Width: | Height: | Size: 247 KiB |
Loading…
Reference in new issue