最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么不能補零,上個例子為什么就可以

?while((bytes = in.read(buf,0,buf.length))!=-1){

? if(bytes <= 0xf){

? System.out.print("0");

? }

? for(int i = 0 ; i < bytes;i++){

? System.out.print(Integer.toHexString(buf[i] & 0xff)+"? ");

? if(j++%10==0){

? System.out.println();

? }

? }

? }


正在回答

3 回答

在這個程序里,你的這個變量bytes=in.read(buf,0,buf.length),得到的是讀取的字節(jié)個數(shù)。用它去判斷是否小于等于15(bytes<=oxf)是沒有意義的。應(yīng)該是在for循環(huán)內(nèi)通過判斷if(buf[i]<=oxf)單個字節(jié)是否小于等于15才有意義。

你說前面的可以,可能你用的是bytes=in.read();這是每次讀取一個字符,當(dāng)然可以。

請記清楚,int?bytes = in.read(buf,0,buf.length)和int?bytes=in.read()是完全不同的概念。所以老師其實在例子用的變量都是int b=in.read()。

2 回復(fù) 有任何疑惑可以回復(fù)我~
#1

lynhao 提問者

非常感謝!
2015-07-09 回復(fù) 有任何疑惑可以回復(fù)我~
#2

發(fā)呆的阿呆

解釋的很清楚,一下子明白了,贊一個~
2015-10-24 回復(fù) 有任何疑惑可以回復(fù)我~

public static void printHexByByteArrayMethod2(String fileName) throws IOException{

FileInputStream in = new FileInputStream(fileName);

byte[] buf = new byte[8*1024];

int bytes=0;

int j=1;

while((bytes=in.read(buf, 0, buf.length))!=-1){

for(int i=0;i<bytes;i++){

if((buf[i]&0xff)<=0xf){

System.out.print("0");

}

System.out.print(Integer.toHexString(buf[i] & 0xff)+"? ");

if(j++%10==0){

System.out.println();

}

}

}

}

http://img1.sycdn.imooc.com//5a5831100001c6d404080497.jpg

0 回復(fù) 有任何疑惑可以回復(fù)我~

我沒找到你說的上個例子是那個,是否需要補0應(yīng)該還是根據(jù)需求做的

1 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

為什么不能補零,上個例子為什么就可以

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號