9月22日,进行了开学第一堂的java测试,来检验暑假的自学成果。下午的考试中,时间应该是比较充分的,但是我还是有许多功能模块没有完成,功能缺少,在进行测试的时候暴露出了许多漏洞。

  总结一下,在暑假的学习中,自己动手实际编写的太少,遇到的问题太少,一些常见的异常报错,不知道怎么去处理,比如nullpointer异常,这是因为使用null对象来调用方法,对象在初始化中的时候不成功。还有报错静态方法中调用非静态变量,这是因为没有new实例化对象导致的。

  在构建自动柜员机系统时,最初没有头绪,以为像以前的学生信息管理系统一样,输入数据后进行增删改查等操作,但是并不一样。柜员机系统是从TXT文件中读取字符串,再和你输入的账号进行比对,相同则进入密码界面,不同则提示无账号信息。首先是文件操作,对于文件的操作,我在暑假的时候就没有好好实际的操作过,一些要注意的地方都有些遗忘,比如throws IOExption,如果不加上程序会运行不下去,还要导入相应的文件操作依赖包。最重要的是在进行字符串比对是,不能直接使用==运算符比对,字符串是引用类型,这是地址比对。应该使用类似于a.equals(b);的操作进行字符串内容的比较。

  进入密码输入界面后,与TXT文件的密码进行比对,成功进入主界面,否则在三次输入错误后提示卡进行回收。对于这个功能,我主要思路是进行至多三次循环,用变量记录循化的次数,判断是否等于3,进行分支选择,等于三次的话输出提示信息,退出到录入账号界面。

  柜员机的主界面功能,存取款,转账汇款,修改密码,以及显示一些操作信息。这时候才发现,自己写的框架有些问题。在进行文件的读取操作时,应该将读取到的数据,进行初始化赋值,存储在对象数组中,再进行相关操作。操作完成后,最后再将修改后的数据,利用文件操作写入到文件中进行保存。在修改上花费大量时间,以导致于没有构架完成程序。

  在考试中出现的错误太多,一些平常没有注意到的错误接连出现。尤其是在进行文件的读取赋值操作时,不管如何赋值,最后输出的对象数组都只有最后一组的数据。不断地测试也不知道问题出现在什么地方。上网搜索后才知道数组是引用类型,数组赋值时候,取出全是最后一个值。使用的全部是最后的地址,需要不断地new一个新的对象进行引用的正确赋值,否则数组都会指向同一地址,导致不能正确的赋值。

  通过这一次的考试,认识到了自己很多的不足之处。第一,也是最重要的就是题还没有理解透彻,系统的流程还没有看完全就着急编写程序,乱写一通,最后理清思路后推翻旧的程序,重新编写,浪费时间。编写程序首先要静下心,仔细的将系统的流程走一遍,然后寻找切入点,不可盲目的编写,耗时耗力没有用处,构建系统的框架,再在框架的基础上进行增加删除功能,壮大程序。第二,对于编译软件运用的不太熟练,在平时,一直用的是记事本来开发程序,非常的麻烦。改用eclipse软件,一些功能不会用,debug,测试等不会。在寻找错误时,只是单纯的靠自己的逻辑,添加输出变量等语句寻找出错的地方。在今后的学习中,一定要熟练运用开发软件,提升自己的能力。第三,对java的基础还不够扎实牢固,一段时间没有使用java就忘记许多注意点,一些基础知识,某些函数的使用方法。第四,编写程序时没有养成写注释的好习惯,在自己编译时,总是忘记当时定义的这个变量是干什么用的,然后再慢慢读程序,寻找变量的作用,可读性很差。第五,在定义类名,方法名,变量名等标识符时,不能做到见名知意,大小写也不加区分,习惯不好。

  在今后的学习生活中,我要养成好作为一个程序员应该具有的优秀习惯。不断学习新的知识,要记录编程中遇到的困难以及解决的办法。要自己主动的去学习,不能等到老师要求才去学习。保持一颗求知心,做一名优秀的程序员。

java课堂考试总结的更多相关文章

  1. 第一次JAVA基础考试后的反思

    今天进行了第一次JAVA基础考试,考查了课本上前面三章和方法的知识,基本没有涉及到数组.通过这次的考试,暴露了自己在学习中的很多问题. 机试题是编写一个学员状态转换器,主要运用的是选择语句和方法,而没 ...

  2. Java课堂测试--实现ATM的基本操作体会

    9月20的周四的Java课堂第一节课上就是有关于实现ATM的考试内容,在实现的过程中我了解到自己本身还是有很多的不足之处,例如在实现工程方面的相似性上面还有些许就的欠缺,再者就是回宿舍拿电源的原因导致 ...

  3. Java课堂笔记(零):内容索引

    回想自己学习和使用Java的时间也是很长了.本科期间课堂上浅尝辄止地学习了点皮毛,后来也是搁置不用,未曾深入研究.研究生期间因为项目和实习的原因,基本算是重新拾起Java这门语言,并且接触到了Spri ...

  4. 20155237 第十一周java课堂程序

    20155237 第十一周java课堂程序 内容一:后缀表达式 abcde/-f+ 内容二:实现Linux下dc的功能,计算后缀表达式的值 填充下列代码: import java.util.Scann ...

  5. 20155308《信息安全系统设计基础 嵌入式C语言课堂考试补博客

    20155308<信息安全系统设计基础 嵌入式C语言课堂考试补博客 知识点 置位 ?bits = bits | (1 << 7) ; /* sets bit 7 */ bits |= ...

  6. 20155320信息安全系统设计第二周课堂考试总结及myod的实现

    20155320 信息安全系统设计第二周课堂考试总结及myod的实现 第二周测试一二已在课上提交 第二周测试3-gdb测试 用gcc -g编译vi输入的代码 在main函数中设置一个行断点 在main ...

  7. Java课堂作业详解

    今天的Java课堂留下了一个作业:使用Eclipse编写一个程序,使输入的两个数进行加和,并且输出他们的和.对于这个题目,我们首先可以把它分解成为三个不同的小步骤 第一步就是输入这两个数,因为我们无需 ...

  8. java课堂动手动脑及课后实验总结

      动手动脑一:枚举   输出结果: false false true SMALL MEDIUM LARGE 分析和总结用法 枚举类型的使用是借助ENUM这样一个类,这个类是JAVA枚举类型的公共基本 ...

  9. Java输出考试前三名

    实现输出考试成绩的前三名 要求: 1. 考试成绩已保存在数组 scores 中,数组元素依次为 89 , -23 , 64 , 91 , 119 , 52 , 73 2. 要求通过自定义方法来实现成绩 ...

随机推荐

  1. 'utf-8' codec can't decode byte 0xd5 in position XXX: invalid continuation byte问题

    找了一下午,各种资料搜集,愣是没搜出来答案. 结果今天早上,做一个小小的改变,就整出来了... 步骤如下: 1.打开excel,全选数据 2.新建记事本,粘贴,选择脚本,更改字体: 3.新建Excel ...

  2. CUDA功能和通用功能

    CUDA功能和通用功能 本文描述了类似于CUDA ufunc的对象. 为了支持CUDA程序的编程模式,CUDA Vectorize和GUVectorize无法产生常规的ufunc.而是返回类似ufun ...

  3. MLPerf结果证实至强® 可有效助力深度学习训练

    MLPerf结果证实至强 可有效助力深度学习训练 核心与视觉计算事业部副总裁Wei Li通过博客回顾了英特尔这几年为提升深度学习性能所做的努力. 目前根据英特尔 至强 可扩展处理器的MLPerf结果显 ...

  4. JVM集合之开篇点题

    大家在平时的开发过程中是否遇到过StackOverflowError.OutOfMemoryError等类似的内存溢出错误呢?大家又是怎么解决这个问题的?再来,大家在面试过程中有没有被面试官提问过jv ...

  5. 菜鸟刷题路:剑指 Offer 09. 用两个栈实现队列

    剑指 Offer 09. 用两个栈实现队列 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的 ...

  6. 基于Android平台的图书管理系统的制作(3)

    前两篇介绍了主页面和Student,这一篇来讲Book类和工作人员. Book是图书管理系统的核心,查书,借书,还书,增加书都与Book类息息相关.Book类的设计很简单:包含信息:名称.作者.页数. ...

  7. 【数论】8.30题解-prime素数密度 洛谷p1835

    prime 洛谷p1835 题目描述 给定区间[L, R](L <= R <= 2147483647, R-L <= 1000000),请计算区间中 素数的个数. 输入输出 输入 两 ...

  8. Linux安装界面简介

    1.安装欢迎界面:install or upgrade an exsiting system:安装或升级现有系统 install system with basic video driver:安装过程 ...

  9. 解决 Golnag Gin框架跨域

    package main import ( "github.com/gin-gonic/gin" "awesomeProject/app/app_routers" ...

  10. PL/SQL插入数据报错:Access violation at address 00413A81 in module 'plsqldev.exe'. Read of address 00000000

    前言 今天同事在使用plsql给oracl数据库插入记录时报错:Access violation at address 00413A81 in module 'plsqldev.exe'. Read ...