实践题目

编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能

提交测试代码和运行结果截图,加上学号水印,提交码云代码链接。

代码链接

代码链接

实践截图

《Java 程序设计》课堂实践三-LMLPHP

代码阐述

这次的代码主要需要解决以下四方面的问题

【1】将文件导入与关闭

【2】输出七位行号(最右边那个数为0)

【3】按每行16个的方式输出其本身

【4】按每行16个的方式输出对应的ASCII码

还有一些细节问题容易出错

  • 计数变量需要放对位置(这个导致我曾一直只输出同一行字符,查了一下录入的字符串是将信息读取完毕的了,所以发现是计数变量放错了)
  • 做行数方法时,当要输出7位数,而其实行号不满七位需要前面补零。同时,在这个小程序中最后一位是0,综合以上原因,我选择用整型数组填充。用中间数组存放转换过的一个整型行数,在把中间数组赋给最终数组。在这些转换的过程中,用于计数和指示位置的变量尤其容易出错,报错一般也是由于什么数组越界。
  • 输出行号时只输出偶数行号,可以通过判定奇偶是否输出,也可以通过改变调用输出方法的位置,我最后选择了第二种。
  • 十进制数转十六进制可以这样
char a = 'a';
int c = a;
System.out.printf(Integer.toHexString(c));
05-19 19:01