2017-04-04 71 views
0

我有一個ArrayList的字符串數組。數組本身應該保存傳入的文本文件的每個單詞。然後,數組存儲在ArrayList的索引中。出於某種原因,它不起作用。它只爲每個數組存儲一個字。我試圖完成的是當我調用ArrayList的索引時,它應該打印出存儲在數組中的文本文件中的所有單詞。有人可以看看這個並指向正確的方向嗎?我真的很感激任何反饋。先謝謝你。打印索引ArrayList <String []>

import java.io.BufferedReader; 
import java.io.FileReader; 
import java.io.IOException; 
import java.util.ArrayList; 
import java.util.Arrays; 
import java.util.Scanner; 

public class Main { 
    public static void main(String[] args) throws IOException{ 
     String [] files = {"C:\\Users\\Kelvin\\Documents\\Hello.txt", "C:\\Users\\Kelvin\\Documents\\Mountain.txt", "C:\\Users\\Kelvin\\Documents\\Thanks.txt"}; 
     ArrayList<String[]> list = new ArrayList<String[]>(); 
     BufferedReader reader; 

     for(int i = 0; i < files.length; i++){ 
      reader = new BufferedReader(new FileReader(files[i])); 
      Scanner in = new Scanner(reader.readLine()); 
      String [] words = null; 
      while(in.hasNext()){ 
       String inputText = in.next(); 
       words = inputText.split("[ \n\t\r,.;:!?*--+(){}}]"); 
      } 
      in.close(); 
      list.add(words); 
     } 
     System.out.println(Arrays.deepToString(list.toArray())); 
    } 
} 
+0

您將有拆分後添加的每個字。 –

+1

這就是調試器的製作 – Paul

+0

嘗試'in.nextLine()'而不是'in.next()'。 – RealSkeptic

回答

1

您在這裏缺少的這一部分:

while (in.hasNext()) { 
    String inputText = in.nextLine();//<----nextLine instead of next 
    words = inputText.split("[ \n\t\r,.;:!?*--+(){}}]"); 
    list.add(words);//<----------Add your result to your List 
} 
相關問題