2016-10-10 107 views
0

我想通過文件循環,並將每行上的每個字符串匹配到數組列表中的元素。我無法獲得循環來處理數組列表。它只是從列表中拉出第一個元素。循環和比較arraylist

array1 = new String[] {"hello", "goodbye"}; 
    while ((file = br.readLine()) != null) { 
      String compare = Character.toString(file.charAt(0)) 
        + Character.toString(file.charAt(1)); 


      for(int i=0;i<array1.length; i++) { 
       boolean ret = Arrays.asList(compare).contains(array1[i]); 
       System.out.println(ret); 
      } 

    } 
    br.close(); 
+1

你可以顯示文件的一些內容嗎?另外,爲什麼只與線的前兩個字符比較? –

回答

-1

你已經使用的for循環,所以你可以在初始化我的for(int i = 0; ...){}和你不需要在年底增加我,因爲你又已經是在你的陳述中這樣做。

我不確定爲什麼你的列表檢查只執行一個單詞,但你的比較只是一個兩個字符的單詞...你確定這是正確的嗎?

+1

對於如此小的添加,您可以自己編輯問題或添加評論,並且您還沒有提供答案,對於任何問題,請對問題留言 – Vihar

1

不知道爲什麼它的失敗,但你只是比較文件的每一行中的前兩個字符,在你的例子中你的數組中的兩個字符超過2個字符。

一種更好的方式來實現你正在試圖做的是uisng HashMap中,重點應該是要檢查是否存在在列表中的字符串,因此,所有你需要做的,而不是你的for循環

  System.out.println(map.get(compare) != null);