“幻方”作为软件构造这门课的第一个实验,刚开始觉得难下手,但真正完整做完之后回看发现其实这个实验并不复杂,下面我就来谈一谈实验注意事项以及实验心得,以下个人拙见,欢迎大家指正!
题目:“幻方”即有一个n×n的矩阵,所有行、列、对角线之和相等。 要求一:该实验给定五个文本文件,要求编写程序:将文件分别打开读出并判断给出的矩阵数据是否是幻方。要求二:用给定的一个静态函数生成幻方,并向另一个文本文件6.txt输出,再利用一中编写的判定方法在main()中测试它,判断数据的合法性。
首先,读写文件时用到字符缓冲流,从缓冲区读取(写入)内容,当想接收任意长度的数据,并且避免乱码的产生时,就可以使用Bufferedxxx,具体使用形式见下图例子:
其次,注意Integer.valueOf()方法,在[-128,127]范围内直接从缓存中拿数,而不会new Integer(),在此之外要new出来;
然后,在要求一中特别注意第一种错误(数字之间未完全用\t分隔开)和第二种错误(行列数不相等)的处理顺序(如果有要求把未完全用\t分隔开单独显示出来的话),若数字之间未完全用\t分隔开,即分隔后的元素中包含了空格,若先处理行列数不相等,这种错误也会按照存在行列数不相等处理,因此把处理数字之间并未完全用\t分割写在前面;
最后,就要谈到新学到之前完全没接触过的处理异常的方法try-catch,代码执行预料不到的情况时用try捕获异常,用catch接收并处理异常,在这里打开文件关闭文件可能发生异常、valueOf可能溢出等等,我觉得这是很好用很方便的处理异常的方法!
路漫漫其修远兮,吾将上下而求索,继续学习探索,与诸君共勉!