java课堂考试总结
9月22日,进行了开学第一堂的java测试,来检验暑假的自学成果。下午的考试中,时间应该是比较充分的,但是我还是有许多功能模块没有完成,功能缺少,在进行测试的时候暴露出了许多漏洞。
总结一下,在暑假的学习中,自己动手实际编写的太少,遇到的问题太少,一些常见的异常报错,不知道怎么去处理,比如nullpointer异常,这是因为使用null对象来调用方法,对象在初始化中的时候不成功。还有报错静态方法中调用非静态变量,这是因为没有new实例化对象导致的。
在构建自动柜员机系统时,最初没有头绪,以为像以前的学生信息管理系统一样,输入数据后进行增删改查等操作,但是并不一样。柜员机系统是从TXT文件中读取字符串,再和你输入的账号进行比对,相同则进入密码界面,不同则提示无账号信息。首先是文件操作,对于文件的操作,我在暑假的时候就没有好好实际的操作过,一些要注意的地方都有些遗忘,比如throws IOExption,如果不加上程序会运行不下去,还要导入相应的文件操作依赖包。最重要的是在进行字符串比对是,不能直接使用==运算符比对,字符串是引用类型,这是地址比对。应该使用类似于a.equals(b);的操作进行字符串内容的比较。
进入密码输入界面后,与TXT文件的密码进行比对,成功进入主界面,否则在三次输入错误后提示卡进行回收。对于这个功能,我主要思路是进行至多三次循环,用变量记录循化的次数,判断是否等于3,进行分支选择,等于三次的话输出提示信息,退出到录入账号界面。
柜员机的主界面功能,存取款,转账汇款,修改密码,以及显示一些操作信息。这时候才发现,自己写的框架有些问题。在进行文件的读取操作时,应该将读取到的数据,进行初始化赋值,存储在对象数组中,再进行相关操作。操作完成后,最后再将修改后的数据,利用文件操作写入到文件中进行保存。在修改上花费大量时间,以导致于没有构架完成程序。
在考试中出现的错误太多,一些平常没有注意到的错误接连出现。尤其是在进行文件的读取赋值操作时,不管如何赋值,最后输出的对象数组都只有最后一组的数据。不断地测试也不知道问题出现在什么地方。上网搜索后才知道数组是引用类型,数组赋值时候,取出全是最后一个值。使用的全部是最后的地址,需要不断地new一个新的对象进行引用的正确赋值,否则数组都会指向同一地址,导致不能正确的赋值。
通过这一次的考试,认识到了自己很多的不足之处。第一,也是最重要的就是题还没有理解透彻,系统的流程还没有看完全就着急编写程序,乱写一通,最后理清思路后推翻旧的程序,重新编写,浪费时间。编写程序首先要静下心,仔细的将系统的流程走一遍,然后寻找切入点,不可盲目的编写,耗时耗力没有用处,构建系统的框架,再在框架的基础上进行增加删除功能,壮大程序。第二,对于编译软件运用的不太熟练,在平时,一直用的是记事本来开发程序,非常的麻烦。改用eclipse软件,一些功能不会用,debug,测试等不会。在寻找错误时,只是单纯的靠自己的逻辑,添加输出变量等语句寻找出错的地方。在今后的学习中,一定要熟练运用开发软件,提升自己的能力。第三,对java的基础还不够扎实牢固,一段时间没有使用java就忘记许多注意点,一些基础知识,某些函数的使用方法。第四,编写程序时没有养成写注释的好习惯,在自己编译时,总是忘记当时定义的这个变量是干什么用的,然后再慢慢读程序,寻找变量的作用,可读性很差。第五,在定义类名,方法名,变量名等标识符时,不能做到见名知意,大小写也不加区分,习惯不好。
在今后的学习生活中,我要养成好作为一个程序员应该具有的优秀习惯。不断学习新的知识,要记录编程中遇到的困难以及解决的办法。要自己主动的去学习,不能等到老师要求才去学习。保持一颗求知心,做一名优秀的程序员。
java课堂考试总结的更多相关文章
- 第一次JAVA基础考试后的反思
今天进行了第一次JAVA基础考试,考查了课本上前面三章和方法的知识,基本没有涉及到数组.通过这次的考试,暴露了自己在学习中的很多问题. 机试题是编写一个学员状态转换器,主要运用的是选择语句和方法,而没 ...
- Java课堂测试--实现ATM的基本操作体会
9月20的周四的Java课堂第一节课上就是有关于实现ATM的考试内容,在实现的过程中我了解到自己本身还是有很多的不足之处,例如在实现工程方面的相似性上面还有些许就的欠缺,再者就是回宿舍拿电源的原因导致 ...
- Java课堂笔记(零):内容索引
回想自己学习和使用Java的时间也是很长了.本科期间课堂上浅尝辄止地学习了点皮毛,后来也是搁置不用,未曾深入研究.研究生期间因为项目和实习的原因,基本算是重新拾起Java这门语言,并且接触到了Spri ...
- 20155237 第十一周java课堂程序
20155237 第十一周java课堂程序 内容一:后缀表达式 abcde/-f+ 内容二:实现Linux下dc的功能,计算后缀表达式的值 填充下列代码: import java.util.Scann ...
- 20155308《信息安全系统设计基础 嵌入式C语言课堂考试补博客
20155308<信息安全系统设计基础 嵌入式C语言课堂考试补博客 知识点 置位 ?bits = bits | (1 << 7) ; /* sets bit 7 */ bits |= ...
- 20155320信息安全系统设计第二周课堂考试总结及myod的实现
20155320 信息安全系统设计第二周课堂考试总结及myod的实现 第二周测试一二已在课上提交 第二周测试3-gdb测试 用gcc -g编译vi输入的代码 在main函数中设置一个行断点 在main ...
- Java课堂作业详解
今天的Java课堂留下了一个作业:使用Eclipse编写一个程序,使输入的两个数进行加和,并且输出他们的和.对于这个题目,我们首先可以把它分解成为三个不同的小步骤 第一步就是输入这两个数,因为我们无需 ...
- java课堂动手动脑及课后实验总结
动手动脑一:枚举 输出结果: false false true SMALL MEDIUM LARGE 分析和总结用法 枚举类型的使用是借助ENUM这样一个类,这个类是JAVA枚举类型的公共基本 ...
- Java输出考试前三名
实现输出考试成绩的前三名 要求: 1. 考试成绩已保存在数组 scores 中,数组元素依次为 89 , -23 , 64 , 91 , 119 , 52 , 73 2. 要求通过自定义方法来实现成绩 ...
随机推荐
- 机器学习PAL基本概念
机器学习PAL基本概念 本文介绍PAI-Studio.PAI-DSW及PAI-EAS的基本概念. PAI-Studio PAI-DSW PAI-EAS
- jmeter链接mysql数据库
一.下载与MySQL对应的jar包 1.1.查询MySQL的版本, 命令语句 :SELECT VERSION(); 1.2.MySQL官网下载jar包 ,https://downloads.mysql ...
- P1522 [USACO2.4]牛的旅行 Cow Tours(Floyd)
题目描述 Farmer John 的农场里有很多牧区.有的路径连接一些特定的牧区.一片所有连通的牧区称为一个牧场.但是就目前而言,你能看到至少有两个牧区通过任何路径都不连通.这样,Farmer Joh ...
- 【逆向&渗透实战】Dump内存中的Dex_我是如何脱壳某公司加固过的Apk并利用其API渗透对方数据库
/作者:Kali_MG1937 QQ:3496925334 CNBLOG博客号:ALDYS4/ 某天午睡,朦朦胧胧梦到给学校提供建站模板的公司有个注射点 梦醒后,我凭借着零散的记忆日进了对面的数据库, ...
- WordPress简介
WordPress是什么? WordPress是一款免费开源的内容管理系统(CMS),目前已经成为全球使用最多的CMS建站程序.根据 W3techs 的最新统计(截至2021年4月),在全球的所有网站 ...
- 【NX二次开发】判断部件是否已修改(判断部件是否需要保存)UF_PART_is_modified();
判断部件是否已修改(判断部件是否需要保存)UF_PART_is_modified(); 注意:函数需要输入原型,不要输入事例.事例转原型:UF_ASSEM_ask_prototype_of_occ() ...
- 08:jQuery(01)
今日内容概要 jQuery(封装了js的前端框架(模块)) 很容易与DOM操作混淆 jQuery """ jQuery内部封装了原生的js代码(还额外添加了很多的功能) ...
- 白日梦的MySQL专题(第38篇文章)8分钟回顾MySQL的索引
目录 公众号首发-推荐阅读原文-格式更好看 一.导读 二.聚簇索引 三.二级索引 四.联合索引 4.1.什么是联合索引 4.2.左前缀原则 4.3.联合索引的分组&排序 五.覆盖索引 六.倒排 ...
- Spring Boot WebFlu-05——WebFlux 中 Thymeleaf 和 MongoDB 实践
第05课:WebFlux 中 Thymeleaf 和 MongoDB 实践 前言 本节内容主要还是总结上面两篇内容的操作,并实现一个复杂查询的小案例,那么没安装 MongoDB 的可以进行下面的安装流 ...
- 必看!LuatOS自定义C库全新教程,一文极速上手
今天继续讲LuatOS的开发,上一期简单说了一下如何移植LuatOS,相信很多朋友已经看过了.那么今天,我就开始讲C和Lua调用的部分教程. LuatOS相关资料及Lua语言的官方定义,详见以下链接: ...