总结起来老师的代码有以下不足:
1、在补零的语句中byte数组buf[i]不能直接与整形 0xf比较大小,这样会导致强转让数据出错。
2、在补零的语句中没有判断buf[i]需要大于零
正确的代码如下:
if((buf[i]&0xff)>0 && (buf[i]&0xff)<=0xf){
System.out.print("0");
}
3.&0xff的意思实际上是取低八位,老师是直接说了讲高24位清零。这样说对初学者来说可能比较难以理解。
1、在补零的语句中byte数组buf[i]不能直接与整形 0xf比较大小,这样会导致强转让数据出错。
2、在补零的语句中没有判断buf[i]需要大于零
正确的代码如下:
if((buf[i]&0xff)>0 && (buf[i]&0xff)<=0xf){
System.out.print("0");
}
3.&0xff的意思实际上是取低八位,老师是直接说了讲高24位清零。这样说对初学者来说可能比较难以理解。
2017-05-01
只要记住 InputStreamReader isr = new InputStreamReader(new FileInputStream("路径"));就可以了,外面的BufferedReader 只不过是再包装了一层,要 可以提高读写性能 , 不要也没多大关系
2017-04-29
为什么我写RandomAccessFile raf = new RandomAccessFile(file,"rw");会报错???
2017-04-26
@ELLIOT4038596
&0xff 将高24位 清零 意思是这样 但是我觉得不该这么写 。 & 是取得意思 ,&0xff是取最低的8位 希望能修正一下。新手可能会看不懂。
------------------------------纠正一下-----------------------------
这不是c语言的指针。&表示逻辑运算"位与"。
&0xff 将高24位 清零 意思是这样 但是我觉得不该这么写 。 & 是取得意思 ,&0xff是取最低的8位 希望能修正一下。新手可能会看不懂。
------------------------------纠正一下-----------------------------
这不是c语言的指针。&表示逻辑运算"位与"。
2017-04-23