Java开学考试感受
在9月22日周二我们进行了开学测试,来检查暑假的预习效果,考试的内容是实现ATM机的存取款等功能,要求ATM机的账户记录Account有账户的唯一性标识(8个数字的组合),用户的姓名,操作日期(Date),操作类型,账户密码(六位的数字,可以用0开头),当前的余额(可以为0)。
在看到试卷时,我首先花费了大概10分钟时间设计并整理思路,之后便进行了私有变量、get()、set()函数的定义,这些在暑假做过很多次,所以很快便完成了。接下来便是实现向accountinformation.txt、accountlist.txt文件中输入信息并实现输出,这个程序最重要的便是文件的输入与输出,在这里我使用了对象的序列化,并用了ArrayList动态数组,以对象为单位输入输出。在界面设计中,困难的是账号和密码与储存在文件内容中对象信息对比,通过将文件中的全部对象存入动态数组中,之后调用getaccountID()和getaccountpassword()对比实现。接下来的功能也都通过类似的方法一一实现,操作流水信息则是每操作一次便将操作信息存入accountlist.txt文件中,在最后查询时现将储存的所有信息放到动态数组中,之后用getaccountID()与账户进行对比,如果相同则输出。在操作流水信息中有操作时间,就是需要获得操作的时间,这个功能我通过上网查找实现了,并且通过了SimpleDateFormat将时间变成了需要的格式。
在考试过程中,我是从头开始一项一项的实现的,每个功能完成时都会进行测试,这固然会时编程的速度变慢,但是保证了程序能够正常进行。每个功能我都创建了新的函数,但是感觉每个函数中重复的地方比较多,下次考试时我会尝试将重复的地方另外建一个函数,使程序变得更加简单。在编程过程中,程序总是会出错,最多的便是变量的初始化和定义变量的作用范围,对于变量的作用范围掌握的不是很好。在编程前虽然花了20分钟时间看题,但在编程时思维还是有些混乱,总是想起一样做一样,导致编程的时候结构混乱。
通过本次考试,我对在暑假中学到的知识掌握的更加熟练,同时也认识到了自身的不足,考试时有些紧张着急,导致思维比较混乱,for和if的包括范围搞错导致程序出错,编程序的速度太慢,在近3小时时间内仍有两项功能没有实现,界面不够美观,注释几乎没有,总之在本次考试中我发现了自己的很多不足之处。考试结束后我向其他同学借了源代码,来与自己的代码进行对比,进而发现自己的不足,老师也在考试时表示一个程序的输入是要直达目的的,只能输入程序员想要的,所以要限制其他情况,而且,在编写程序的时候,我们要先构造大的框架,不要纠结于细枝末节。在本次考试中,虽然我尽了自己的最大努力,但是我也知道了自己的知识是多么的有限。在接下来的学习中,我会更加努力,调整好自己的心态,在编程前整理好思路,注重编程中的细节,把程序变得更加美观,我相信在老师的带领下,我的能力会得到进一步的提升。
这次考试可以说是对我们暑假预习成果的一次检验。但是,通过这次考试我看到了,自己的成绩很不理想,这代表着我在暑假的预习中并未达到老师要求的水平,对此,我是感到比较后悔的,后悔没有在暑假中努力学习新知识,而是在长期的线上教学中放松自我,导致自己的学习积极性越来越低,进而导致现在与学习进度相差较多的结果。通过这次考试,我仔细反思了一下,并且也有了一些感受和想法。
这次考试让我意识到大二学习知识的紧迫性,老师是没有时间等学生的,老师只负责布置任务和规划学习的大致方向,而学习的具体要靠我们学生自己,就像在前几天的讲座中,马俊鹏说道:“真正的大牛都是靠自学成才的。”这对于我们大学生来说也是如此,好的学生都是靠自己在课下继续挖掘老师所讲知识的深度,同时拓展所讲知识的宽度,让自己对于所学的内容有更深的体会,这样在以后解决问题是才能运用熟练。对此,我需要加强自己的自控能力,不要受外界的各种因素干扰,将自己的重心放在学习知识上,大学剩下的三年将是我人生的转折点,我一定要珍惜当下的学习机会,不要在将来后悔。