# 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)

最新文章

  1. Android学习探索之Java 8 在Android 开发中的应用
  2. NOIP 考前 数据结构复习
  3. Deep learning:四十四(Pylearn2中的Quick-start例子)
  4. Java基础之在窗口中绘图——移动曲线的控制点(CurveApplet 3 moving the control points)
  5. 创建一个提供数据 API 的 Node.js 网站
  6. 解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
  7. Android UI SurfaceView的使用-绘制单个图型或多个图形
  8. python字符串方法以及注释
  9. C#第四天
  10. php垃圾回收
  11. 九大排序算法的Java实现
  12. Android官方技术文档翻译——开发工具的构建概述
  13. Zuul之Filter详解
  14. django-url的分发
  15. Nginx 相关介绍(Nginx是什么?能干嘛?)
  16. SQL SERVER数据库删除LOG文件和清空日志的方案
  17. react-router 4.0(一)
  18. 深度学习原理与框架-卷积网络细节-图像分类与图像位置回归任务 1.模型加载 2.串接新的全连接层 3.使用SGD梯度对参数更新 4.模型结果测试 5.各个模型效果对比
  19. fcitx、ibus、scim
  20. 各类无次数限制的免费API接口整理

热门文章

  1. nil/Nil/NULL/NSNull
  2. mybatis入门篇:存储过程的操作
  3. java-设计模式-索引
  4. 【HDFS API编程】查看HDFS文件内容、创建文件并写入内容、更改文件名
  5. loadrunner参数化使用mysql数据源失败解决方法
  6. 74.纯 CSS 创作一台 MacBook Pro
  7. python基础1.0
  8. mount命令和自动挂载实例
  9. AQS原理以及AQS同步组件总结
  10. UVa442 Matrix Chain Multiplication(栈)