首先必须承认,这次的题目还是很简单的,因为这道题完全就是换了个包装的小学期题目,也就是说,如果让我用C++来编写,我可以保证3个小时内编写完毕,也许在一些小的方面,比如输入数字的合法性上存在问题,但毕竟程序是完整且可执行的。但换成java……那就失败一多半了,因为最关键的问题我还没学,那就是程序对文件的操作。由于完全不懂对文件操作的语句,所以上网抄也是不现实的,因为你根本不理解网上抄来每一句程序的意思,也许这句意思是检验文件是否打开,也许这句意思是只将整型数据输出到文件。所以我没抄,而这个程序也是不完整的。
  不过老师说的一些话让我注意到其他一些问题,那就是检验数据的合法性。回来后我又仔细看了看我以前做的程序,感觉真的是好“瘦弱”啊,完全没有一个程序应该有的“健壮”,就是说,包括刚刚过去的小学期的作业,我所有的程序都没有在意过数据是否合法,但为什么在我进行调试时没有发生bug呢?原因很简单,我作为程序的开发者,自然知道我输入的数据应该是什么类型的,所以我可以调试的很成功。但用户不知道啊(假设有这么一个用户),虽然我有着输出提示,比如该输入新建联系人时,我会输出:请依次输入姓名(string),年龄(int),性别(string/Boolean),电话号码(string),然后用户输入相应信息就行了。但万一遇到一个脑子有坑的用户,他偏要依次输入23,小明,135846952,0这样的数据怎么办?电脑是按照数据类型划分内存的,这么一搞,电脑可不是人,它可不会自动排列数据,这样,电脑直接就罢工了,程序直接就崩溃了。这就是我所有程序的致命缺点。好在我还是个程序菜鸟,至少现在意识到数据合法性的重要性还不晚,以后在我的程序中就应该加上这些设定了。
  所以,第一节java课程我觉得收获还是蛮大的,虽然并没有学到java的语句知识,但至少有了一种意识,而我认为,意识要比单纯的知识要有用的多。当然,说到最后,这个程序是一定要完成的,当然我现在还束手我策,因为还没搞定对文件操作,但1个月之内,我一定会学会对文件操作,并将这个程序编写完成的。

关于第一次java课的感想的更多相关文章

  1. 第一次 在Java课上的编程

    第一次在java课上的编程(使用参数输入求和): 代码: public class He {    public static void main(String[] args)    {       ...

  2. JAVA课设个人博客--多源数据教学管理系统

    JAVA课设个人博客--多源数据教学管理系统 1.团队课程设计博客链接 https://www.cnblogs.com/hq9-/p/10278470.html 2. 个人负责模块或任务说明 主要模块 ...

  3. JAVA课程学习感想

    JAVA课程学习感想 在学习JAVA之前,我们学习了C语言,汇编语言,数据结构等等.虽然学习了这些,但对于JAVA来说,学习起来不是那么容易,所有的计算机语言有相似的地方,但他们更有不同的地方.对我来 ...

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

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

  5. JAVA课设---五子棋

    1.团队博客链接 JAVA课设-五子棋-团队博客 2.个人负责模块: ①对鼠标事件的处理 , 此模块需处理五子棋的放置问题.颜色转换问题.以及当五子连线时弹出窗口显示结果. ②对MainFrame中主 ...

  6. 第一次java程序测试感受

    第一次JAVA程序设计测试,检验了一个暑假的成果.显而易见,我做的并不是很好,程序最起码的输入输出以及方法的定义还是没有问题的,但是考到了文件输入输出便看出来了.对于文件的输入输出,虽然我预习到那里, ...

  7. java开学考试感想及代码

    上周四我们的第一节java课,王老师给我们进行啦开学考试,这也是上学期放假之前给我们约定好的 但是情况显然没有我想的那么好,其实我觉得这个atm系统比上届学生信息管理系统难的多,上届的话毕竟有小学期的 ...

  8. java课设数据库打包报错

    最近在交java课设时把东西打包给老师遇到许多奇葩问题, 首先是数据库复制时提示: 这是数据库与SQL server服务没有分离(我用的是SQLserver暂时,对于其他的,我以后会继续尝试)可以进行 ...

  9. 20155301第十一周java课栈程序

    20155301第十一周java课栈程序 内容一:后序表达式: abcde/-f+ 内容二:根据填充以下代码: import java.util.Scanner; public class MyDCT ...

随机推荐

  1. [No0000113]Keyboard shortcuts for Windows Visual Studio Code

    General 常用Ctrl+Shift+P, F1 Show Command Palette 显示命令行Ctrl+P Quick Open, Go to File… 快速打开Ctrl+Shift+N ...

  2. python模块之__future__模块

    Python的每个新版本都会增加一些新的功能,或者对原来的功能作一些改动.有些改动是不兼容旧版本的,也就是在当前版本运行正常的代码,到下一个版本运行就可能不正常了.为了在低版本中可以使用高版本的新特性 ...

  3. iOS 限制输入字数

    关于限制输入字数以前也做过,网上也很多方法.但都不够完美,本方法可防止中文联想.粘贴等突破长途限制.可防止Emoji截为两半导致编码出问题. - (void)textFieldDidChange:(U ...

  4. mysql缓存分析

  5. [python2] python 打印表格 prettytable

    rpm包: [root@D129 cli]# yum info python-prettytable Loaded plugins: fastestmirror Loading mirror spee ...

  6. LeetCode 476 Number Complement 解题报告

    题目要求 Given a positive integer, output its complement number. The complement strategy is to flip the ...

  7. Struts2中.properties文件放置路径(classpath)

    一.web应用的classpath简介   classpath路径,即WEB-INF下面的classes目录,所有src目录下面的java.xml.properties等文件编译后都会在此. Stru ...

  8. idea tomcat控制台system.out.println是乱码

    配置一下tomcat的信息.然后设置VM options.添加:-Dfile.encoding=UTF-8

  9. elastic客户端TransportClient的使用

    关于TransportClient,elastic计划在Elasticsearch 7.0中弃用TransportClient,并在8.0中完全删除它.后面,应该使用Java高级REST客户端,它执行 ...

  10. js:return [ expression ],return false,return true,return的区别

    1.return [ expression ] return返回值实际上是对window.event.returnvalue进行设置. 2.return false,阻止默认的行为, ① 当给a标签绑 ...