### Java程序设计(第二版)课后习题答案解析
#### 文件概述
这份文档提供了《Java程序设计(第二版)》一书中的课后习题答案,并附带了经过校验和修正的Java源代码。文档作者声明了该电子版仅供个人学习交流使用,严禁用于商业出版,并对原书中的一些问题进行了修正和完善。
#### 核心知识点分析
##### 1. **版权与使用说明**
- 文档明确指出如果电子版侵犯了原书版权,则应当立即删除。
- 该文档主要用于个人学习和交流目的。
- 明确禁止用于商业出版。
##### 2. **代码修订与验证**
- 本电子版中的Java源代码来源于《Java程序设计(第二版)题解与上机指导》一书。
- 作者已经对全部源代码进行了编辑、编译和运行工作,并修正了其中的错误。
- 对于难以理解或存在明显问题的部分,作者提供了额外的例子作为补充。
- 加入了大量的注释说明,提高了代码的可读性和理解度。
##### 3. **开发环境与兼容性**
- 源代码主要在JBuilder 9.0下进行调试,部分代码在JBuilder 2006和JCreator下调试。
- JBuilder 9.0内置的JDK版本为1.4,而JBuilder 2006内置的JDK版本为1.5。
- 特别提到JBuilder 2006支持的字体较少,需要额外配置才能加入如宋体等其他字体。
##### 4. **示例代码分析**
- **类`MyDate`**:这个类用于表示日期,包含三个私有整型变量`year`、`month`和`day`,以及对应的构造函数和获取日期的公共方法。
- 构造函数`MyDate(int y, int m, int d)`用于初始化日期对象。
- 方法`getYear()`、`getMonth()`和`getDay()`分别返回年、月和日。
- **类`Employee`**:表示员工信息,包含姓名、薪资及雇佣日期等属性。
- 构造函数`Employee(String n, double s, MyDate d)`用于初始化员工对象。
- 方法`print()`用于打印员工的信息。
- 方法`raiseSalary(double byPercent)`用于增加员工的薪资。
- 方法`hireYear()`返回雇佣年份。
- **主类`MyTestClass`**:包含主方法`main`,用于创建并操作`Employee`对象数组。
##### 5. **代码调试与运行**
- 大部分代码能在JBuilder 9.0下编译运行。
- 需要更高版本JDK支持的代码可以在JBuilder 2006下编译运行。
- 提供了JBuilder 2006 Windows平台的下载链接,包括破解补丁和虚拟光驱的安装说明。
##### 6. **作者态度与读者反馈**
- 作者对于原书作者的态度持有一定的批评,认为其编写不够认真严谨。
- 作者鼓励读者在使用本电子版的同时,也要参考其他资料,提出更好的解决方案。
- 欢迎读者尤其是专家的批评指正,并提供了联系方式以便交流。
#### 结论
这份文档不仅包含了《Java程序设计(第二版)》课后习题的答案,还提供了丰富的代码示例和调试经验分享,有助于读者更好地理解和掌握Java编程的基础知识。同时,它强调了个人学习的重要性以及合理使用资源的合法性,是一份非常有价值的参考资料。