2015-12-30 104 views
0

我真的是java中的新手,我試圖通過在家鍛鍊來改善。我的程序出現了這個問題,我無法從我正在讀取的txt文件中保存int數字,因此我可以對其進行處理。從java中讀取文件並保存數組中的txt中的int數字

My new code

+0

嘗試格式你的代碼正確,有很多空的或奇怪的「{}」塊。 – Berger

+0

for block {}不正確 – jsfviky

+0

@Joe K.,請問您可以編輯問題並將代碼添加爲文本。外部圖像可能'丟失':) – rjdkolb

回答

0

使用BufferReader閱讀TXT

BufferedReader br = new BufferedReader(new FileReader("/home/input.txt")); 

然後,所有你需要做的是通過使用br.readLine(重複),並將其分配給數組如下:

while ((sCurrentLine = br.readLine()) != null) { 

        array[i]= Integer.parseInt(sCurrentLine); 
        i++; 
       } 


      for(int j=0;j<array.length;j++){ 
       System.out.println(array[j]); 
      } 
1

i是超出範圍的打印語句中。

它只會在for塊中可用。而您的打印語句不在for循環中。

它應該被一個{}塊包圍,以使其可用於多於一個語句。

for(int i =0; i < array.length; i++){ 

array[i] = in.nextInt(); 

System.out.println(array[i]);} 
+0

我做了全局的,它編譯但我得到運行時錯誤:java.lang.ArrayIndexOutOfBoundsException:1 –

+0

你可以編輯問題並粘貼你的新代碼? –

+0

您正在將第一個數字分配給'num'(數組的長度),因此您的.txt中的第一行應該是後續的int的數字。 – cylon

1

你正在做的:

int []array=new int[num]; 

它創建一個長度爲1的陣列,因爲你做

num = in.nextInt(); 

例如,你可以使用List<Integer> intList = new ArrayList<Integer>()那麼你可以添加你的整數來循環中的列表。

+0

@JoeK。你正在循環與for循環混合。在這種情況下沒有必要。使用一個循環。 –

相關問題