第四周作业

学号 20162327 《程序设计与数据结构》第4周学习总结

教材学习内容总结

  • 1.基于布尔表达式的条件语句和循环语句
    其中条件语句包括if,if-else,swith.循环语句包括while,do,for.这些基本的语句在编程中的使用非常频繁,所以我们务必要熟练的掌握他们。
  • 2.一些重要的关系运算符和逻辑运算符
    "==" 等于
    "!=" 不等于
    ">=" 大于等于
    "<=" 小于等于
    "!" 逻辑非
    "&&" 逻辑与
    "||" 逻辑或
  • 3.数据比较
    浮点数比较
    字符比较,Unicode字符集是这样规定的:所有小写字母('a''z')都以字母的顺序连续存放。大写字母('A''Z')和表示数字('0'~'9')的字符也是这样处理的。数字在大写字母之前,大写字母在小写字母之前。
    对象比较
  • 4 迭代器和for循环的有关联系

教材学习中的问题和解决过程

  • 1问题:public static void main(String[]args)拆开的意义

  • 1解决方案:public:权限修饰符,最大的权限
    static:静态的,也就是不用new这个对象,这个方法也存在
    void:空类型,不返回任何值
    main:函数名
    args:参数

  • 2问题:用空格分隔java字符串的方法

  • 2解决方案:1.String str = "123345678";
    String[]Array = str.split("s");
    2.String str = "123456789";
    String[]Array = str.spilt(" ");

  • 3问题:实例化

  • 3解决方案:初值表和new均可实例化一个数组。并且初值表只能在第一次声明数组的时候。

代码调试中的问题和解决过程

  • 1问题:Hi-Lo猜数游戏中的代码问题
  • 1解决方案:
    System.out.println("Input 1 to continue or 2 to break:");
    s = scan.nextInt();
    if(s>2)
    { System.out.println("wrong");
    System.out.println("please intput again:");
    s = scan.nextInt();}
    while(s<2);
    System.out.println("game over");
    我用数字1和2代替了yes和no就可以用现有的知识做出这个循环语句。

代码托管

  • 代码提交过程截图:

  • 代码量截图:

上周考试错题总结

  • 1.填空:LinuxBash中,查找当前目录中前天创建的Java文件的命令是(find . -name *.java -ctime 2)。
  • 2.填空:使用JDB进行调试时单步执行命令有step和next,我们优先使用(next)。
  • 3.填空:使用JDB进行调试时查看源代码的命令是(list)。
  • 4.填空:~0b1010的十进制值是(-11)
  • 5.填空 :10&9 的结果是(8)先化为二进制,再进行计算
  • 6.填空:new Random().nextInt(10)产生的随机数中,最大值是(9)随机数是从0-9
  • 7.填空:调用nextInt产生-10至15间的整数随机数(new Random().nextInt(26)-10)
  • 8.填空:DRY是(Don’t Repeat Yourself)的缩写
  • 9.判断:枚举变量是类型安全的。(OK)
  • 10.判断:Integer a = new Integer(10); Integer b = new Integer(10); System.out.println(a==b)的结果是true. (X)
  • 11.填空:Java中(Math.pow(2,10))计算出2的10次方的值。
  • 12.填空:Java中类方法使用(static)关键字声明。

结对及互评

结对编程项目-四则运算
我的搭档负责总体的设计和提醒,我主要负责键盘的输入,还有我俩共同研究了分数的四则运算问题。

  • 1.需求分析
    需要掌握各种循环语句和条件语句,在本实验中主要用到了whlie语句、for语句、if语句、switch语句。
    还有随机数的抽取等基本知识。
  • 2.设计思路
    做这个项目,一开始是想着先编出整数的四则运算,这个应该是比较简单的。编完加减乘除后第一个难题出现了,那就是如何随机的选择题目,这个问题我们用switch巧妙地解决了,对于整数分了四个case,分别代表加减乘除运算,这样整数部分就做好了。第二个难题就是分数的计算问题,这个问题目前我们还没有解决,因为计算机里没有分数这种形式,浮点数也不能表示分数。我们也在网上查看了好多的代码,要么完全看不懂、要么不能运行。最后我俩还是决定自己来吧,我的搭档提出了数字匹配的想法,虽然我也不是很理解,但有想法总是好的,可以再尝试。
  • 3.下周展望
    下一周我们的重点就要放在研究分数上面了,其实这个问题已经困扰我们很久了,下周我们会竭尽所能,弄懂自己的疑惑,更好的完成实验。

点评过的同学博客和代码

其他(感悟、思考等,可选)

本周在编写一些比较复杂的程序时,我深感有心无力。java中要很多好用的方法,这也是java的先进之处,但是我们掌握的太少了,有时候甚至无法进行下一步的编写,因为心里有一种想要把程序编好的欲望,所以就从各个地方去查找,不知不觉已经形成了一种习惯,也许这就是自学的一部分吧。最后,学习这门课虽然很累,但我觉得很值得,学习都是为了自己,加油!

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 100/100 1/1 16/16
第二周 257/257 1/1 22/22
第三周 465/465 1/1 26/26
第四周 875/875 2/2 40/40

参考:软件工程软件的估计为什么这么难软件工程 估计方法

posted @ 2017-03-26 23:21  小飞侠WJH  阅读(87)  评论(2编辑  收藏