# 20175126 2016-2017-2 《Java程序设计》第三周学习总结
##课余收获——利用JAVA编写最简单的斗地主程序
-由于最近身边的朋友都在玩手机上的斗地主小游戏,我也就突发奇想利用JAVA编一个斗地主小游戏。
-大致思路如下:
-1.农民地主分配问题
-2.发牌问题
-3.出牌问题
-4.游戏结束
-由于本周工作量较大,我只编写到了发牌问题,而且还有很多地方需要完善,但我会一步一步慢慢解决的。
-目前游戏效果如下:
-
-关于1.农民地主分配问题,我用的是switch开关语句,利用生成随机数1或2,来判断玩家为地主还是农民
如图:
-而关于2.发牌问题,我主要也是利用随机数来生成牌,但需要控制每种牌的张数不能超过四张,这也是我正在解决的问题。
-目前大致进展就是这样啦,在接下来几周我也会慢慢完成我的这个小程序,期待吧!
## 教材学习内容总结
- 本周学习方式主要为手动敲打教材代码和观看APP上的视频资源自学。
- 学习内容为教材第四章,我觉得本章内容较多,难度较大,尤其是包部分,我在这一部分代码调试时遇到了很多问题,经常会出现找不到类的情况,这并不是我代码本身的问题,而是我没有进入该文件夹中进行调试,这样类似的问题还有很多,但最后还是仔细阅读教材完成了调试。
- 第二章主要内容有:类、构造方法与对象的创建、类与程序的基本结构、参数传值、对象的组合、方法重载、this关键字、import语句、访问权限、对象数组等。
## 代码调试中的问题和解决过程
- 问题1:当需要引用的公共类名称相似且太多时,出现名字混淆的状况
-
-问题1解决方案:
- 遇到这个问题后,我的第一反应是检查代码,但由于出现的问题是引用类的名字输错,我找了几次才发现错误,这也浪费了我很多的时间,所以细微的错误不可忽视,提高自己的细节观察能力能大量提高学习效率。
- 问题2:在上一级文件夹中编译指定文件夹中的.java文件 出现找不到引用类的情况
-
- 问题2解决方案:问题具体原因我还不知道,但是我发现进入该文件夹后,再进行编译就可以完成操作。
-
##代码托管
## 上周考试错题总结
-下列哪个叙述是正确的?
-A .5.0/2+10的结果是double型数据。
-B .(int)5.8+1.0的结果是int型数据。
-C .苹'+ '果'的结果是char型数据。
-D .(short)10+'a'的结果是short型数据。
正确答案:A
解析:精度由高到低排序为:double float long int char short byte
## 其他
本周的代码内容很多,而且每个例子的代码长度也很长,这也就很容易出现细节错误的问题,一旦某个类的名字或者什么细节出错,就会导致接下来的很多相关联的地方一并出错,这也就是调试过程中比较困难繁琐的地方。同时,在解决遇到的问题的同时,我发现解决问题的最有效方法就是百度,因为百度出来的结果常常是一个完整的知识点,可以达到举一反三的效果,比如我想生成随机数,就可以百度java生成随机数的办法,然后就学会了利用MATH函数radom生成随机数等。在敲教材的代码空闲之余,我还尝试编写一个斗地主的程序,但由于目前学的知识有限,水平尚浅,目前只编了不完整的发牌阶段,在今后的学习中,我也会利用JAVA去编一些自己感兴趣的程序,学以致用。
## 学习进度条
| | 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长|
| -------- | :----------------:|:----------------:|:---------------: |:-----:|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 68/70 | 2/2 | 20/20 | Linux系统基本入门 |
| 第二周 | 387/400 | 1/2 | 15/20 | 基本语法的使用 |
| 第三周 | 894/800 | 1/2 | 13/15 | 包的使用 |
## 参考资料
- [Java学习笔记(第8版)](http://book.douban.com/subject/26371167/)
- [《Java学习笔记(第8版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)
- [使用码云和博客园学习简易教程](http://www.cnblogs.com/rocedu/p/6482354.html)
- [《Java程序设计》教学进程](http://www.cnblogs.com/rocedu/p/6255835.html#JXJC)
- [Linux 终端中常用的文件和文件夹操作命令](https://jingyan.baidu.com/article/656db918c10732e380249c65.html)