在差不多一个月的时间,我们一共经过了三次作业的练习。
第一次作业的题量是最大的,一共有八道题目,但难度很低,主要考察的是Java的基础语法知识。比如对变量进行赋值,字符间的比较,条件语句的使用,条件的判断,运算符号的使用,取平均值,冒泡排序法,且和或的条件判断。运用上学期c语言的基础,我们能轻松快速的把这些题目做出来。
第二次作业相比较于第一次来说,难度提升了一些,题量少了一点,但是更进一步要求我们对Java的理解,一共五道题目。前两题考察了IP地址转换,数组的创建与整合。后面三题需要我们在一个类中熟练的运用各种方法,对boolean值的使用,并要求我们学生充分考虑到无效边界值测试和特殊情况的代码实现。第二次作业虽然比第一次难了些,但只要简单的了解了相对应的语法知识,认真仔细阅读题目给出的各个要求,并将一个大问题分解成不同的小问题,利用自顶向下或者自低向上的方法,在存根方法快速的构建程序的框架,再逐步实现细节,就能把第二次作业做的还不错。
第三次作业相较于前两次作业来说,可以说是难度陡增,代码量也增加了许多,更需要我们学生有面向对象思考的能力,使用类来建模对象。第一题需要创建两个私有属性的对象,题目需要我们定义类和创建对象,使用构造方法构造对象,通过引用变量访问对象,访问对象的数据。第二题定义了一个日期类,需要我们向方法传递对象参数以及值传递。如果不能正确的判断日期类中变量的作用域,我们很难做出这道题来。第三道题目对很多同学来说难度很大,由于我基础不怎么好,刚开始对这题目基本是没有什么头绪的,对使用类与对象编写程序对简单多项式的导函数进行求解对我来说很困难。当时我只有请教其他同学来才能取得一点思路,但最终还是没有将这题解出来。第三次作业题目量对比前两次虽然少了很多,只有区区三道题目,但难度是高了很多,90分以上的同学还是比较少的。这三题作业总体来说难度是有一个慢慢上升的梯度,通过这个循序渐进,我们能慢慢的体会到Java的魅力。从容易到难,相信在一次次作业的练习中我们能渐渐的入门Java,这三次作业提高了相较于c语言的编程能力。( 在三次作业之间也穿插了一些实验,在这些实验中我们能体会到Java相比较于c语言其强大的处理问题的能力,通过这些问题的解决过程逐渐来引导我们学生面向对象进行思考)。
题目集1的7-8:
在这题目中我大量的运用if和else if 的条件句子,利用double a=0,b=0,c=0,i=0;定义了三个变量来表示三角形的三条边,再利用if(a<1||a>200||b<1||b>200||c<1||c>200)来对三角形进行判断数据是否非法。然后利用一系列else if 语句来判断三角形类型。但刚开始的时候对一些非法数据没有在意,导致有一个测试点没有通过。因为我之前的c语言基础很薄弱,导致我并不能充分考虑到每种三角形的形状与

三边之间的关系,最后我根据不同边的大小关系通过一个个的条件语句成功实现了代码。
题目集2的7-4:
public static void main(String[] args) {
Scanner input=new Scanner(System.in);int year,month,day;
year = input.nextInt();month = input.nextInt();day = input.nextInt();
if(year<1900||year>2000||month<1||month>12||day<1||day>31)
{System.out.printf("Date Format is Wrong");
}
boolean n=isLeapYear(year);
nextDate( year, month,day);
}
在这个main方法中调用自己创建的方法解出后一天的问题。


在改进的过程中,我们可以根据其测试点的提示来改进自己的代码。逐个测试就能通过测验。在检查测试的过程中也发现了自己的代码风格不好,在改进的过程中有时候会遇到读不懂自己的代码的情况发生,在做作业的过程中浪费了我们很多时间。慢慢的形成自己的代码风格才能做到持续改进。
从变量的声明,赋值语句和赋值表达式的运用,数值数据类型和操作再到方法和数组的调用,再到对象和类,面向对象的思想。往后还有继承和多态和异常处理。在以后的作业中,先仔细的审查题目然后如果有不了解的知识就多看看菜鸟教程,然后实在有不解的地方也可以问问同学,向他们请求帮助。以后Java的学习中应该投入更多的时间,希望在更多的时间付出能让我在作业中取得更好的成绩。
浙公网安备 33010602011771号