第四周作业
学号 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 | |
参考:软件工程软件的估计为什么这么难,软件工程 估计方法 |