K_Muxs
2016-10-02 21:00
为什么写了if(b[i]<=0xf);
System.out.print("0");这个条件语句,
我输出了的ff, d6 ,d0 ,会多打印出一个0,变成0ff, 0d6, 0d0
我来回答。
b[i] <= 0xf是用来判断是否需要加0,也就是高四位是否有1出现,但是这个判断条件不对。比如0xff输出占两位,但是在数值上却是小于0xf的。所以争取的补0条件应为:
if (b[i] & 0xf0 == 0)
那是因为你if这行加了一个分号。相当于if 条件 空执行 加分号 。后面的SYSO已经不受IF约束,为每次都运行的语句了。IF只能控制后面紧跟的花括号中的内容,或者是紧跟的一个分号前的内容
文件传输基础——Java IO流
133754 学习 · 1030 问题
相似问题
回答 2
回答 3
回答 2
回答 1
回答 1