2015-01-07 82 views
0

有人可以解釋爲什麼這段代碼不起作用嗎? 我的數組沒有得到填充任何-.-從文件到數組傳遞整數

Integer[] tab1 = new Integer[401]; 
    int[][] tab2 = new int[20][20]; 
    File fr; 
    int i = 0, c = 0; 
    fr = new File("problem11"); 
    Scanner sc; 
    try { 
     sc = new Scanner(fr); 
     while (sc.hasNext()) { 
      // System.out.printf("%d ", sc.nextInt()); 
      tab1[i] = sc.nextInt(); 

      i++; 
      System.out.print(tab1[i]); 
     } 
    } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
+1

也就是說很可能是因爲在您運行程序的位置的缺省目錄中不存在「problem11」。 – dasblinkenlight

+1

也許sc沒有下一行,可能在閱讀時出現問題,... 您的代碼是否進入while循環?是否有堆棧跟蹤? – Stultuske

+0

如果它有整數,那麼你應該得到hasNextInt而不是hasNext。你可能會得到InputMismatchException? – SMA

回答

3

你顯示它已處理不當還填充了一個數組元素

i++; 
System.out.print(tab1[i]); 

應該

System.out.print(tab1[i++]);