2014-10-08 38 views
0

我從以下文件含閱讀中的十六進制值字母

02020003 
03020004 
01000000 
0000000A 
00000000 

讀取值使用下面的代碼:

public static void loader(String file) 
{ 

    try{ 
     Scanner sc = new Scanner(new File(file)); 
     for(int i = 0; sc.hasNextInt() ; ++i){ 
      Memory[i] = sc.nextInt(16); 
     } 

    }catch(Exception e) { 
     System.out.println("Cannot open file"); 
     System.exit(0); 
    } 
} 

代碼正確讀取該文件中的第3個值,但只要它接近第4行的字母,它就會始終將其存儲爲0。

爲什麼會發生這種情況?

+4

您檢查'hasNextInt()',而是用'nextInt(16)'。你看到有什麼問題嗎? – 2014-10-08 01:23:06

+0

@SotiriosDelimanolis謝謝,我明白我做錯了什麼 – 2014-10-08 01:25:29

+0

@SotiriosDelimanolis與其問一個單獨的問題,我有一個跟進,獲得一個十六進制值,我得到30000的時候,當我只想3.如何做到這一點? – 2014-10-08 01:27:18

回答

0

你應該使用

hasNextInt(int radix) 

認沽基數16

相關問題