学号 2017-2018-20172309 《程序设计与数据结构》课堂测试修改报告
学号 2017-2018-20172309 《程序设计与数据结构》课堂测试修改报告
课程:《程序设计与数据结构》
**班级: **1723
姓名: 王志伟
学号:20172309
实验教师:王志强老师
实验日期:2018年5月9日
必修/选修: 必修
实验内容及要求
- 从键盘可以输入任意个整数(int);
- 写入文件;
- 从文件读取所有的整数;
- 使用插入排序对读取的整数进行排序,并将排序的结果写入原文件。
- 使用try-catch语句处理IO异常,例如文件创建异常.
第一次测试的思路想法及存在的问题:
-
思路:让用户首先输入三个数据(也就是说要进行排序至少得三个及以上的数据,因为两个数据谁都能排出来),然后让用户选择是否想要输入更多的数据进行排序(y/n).直到用户输入n.
-
问题一:输入的整型数据范围为0~9,不支持双位数的数据进行排序。
-
问题二:存入文件是,显示为看不懂的字符。
修改后程序:
-
完善了不能尽量两位数的bug。
-
解决了文件中不会显现出数字的问题。
出现这个问题的原因是我存到文件的数据类型为byte型,因此不能显现出来。
程序编写过程中出现的问题:
- 问题一:最大的问题!IO流怎么运用?
- 解决方案:这部分可以说是费了很大的功夫,在网上也搜集了许多资料。但是还是不明白,知道自己编代码才总结出了一些用法(可能不全)。
> //就拿写入文件举例吧
> FileWriter fileWriter = null;
> try{
> fileWriter = new FileWriter("F://week10Test2.txt");//首先创建一个文件week10Test2.txt。
> } catch (IOException e) {
> e.printStackTrace();//创建文件中可能出现的问题
> }
> BufferedWriter fw = new BufferedWriter(fileWriter);//创建BufferedWriter 并使其指向咋们创建的文件。
> fw.write(“数据”)//写入数据
> fw.flush()//刷新数据
> fw.close()//关闭流
> 后面的try-catch语句我都去掉了 在后面的代码链接中有详细的代码
- 问题二:代码变好以后文件中显示不全面!
- 解决方案:原来是自己在把排好序的数组输入到文件的时候出现了问题:
> //前面的代码已将数组nums排好序了
> String result=" ";
> for(int i=0;i<nums.length();i++)
> result=nums[i]+" "; //此处出现错误,正确为:result+=nums[i]+" ";
> //后面的代码的作用是将result 写入到文件中
代码链接
思想与感悟
这次测试出现错误是因为自己对IO操作的不熟悉,可以说是没学似的。不过经过这次错误,我自我感觉对IO的操作有了个大部分的了解,关键的是:当提及IO时,不再像以前一样心虚了。还有,就是在代码不会编的时候不应该去死看书,应该去动手,在动手中学习!嗯,没错!就算不会也要动手!自我感觉是这样的。