2014-01-13 59 views
-3

該程序的目標是採用兩個數組x和y,然後創建和數組列表包含x和y中都出現的數字,然後打印出這個匹配數字的數組。當我去編譯時,它給了我第19行預期的錯誤類,另一個錯誤說「;」預計在同一行,我猜是由於其他錯誤。這只是該線路上的錯誤還是更大的問題?使用包含方法

import java.util.ArrayList; 
import java.util.Arrays; 
public class FindCommon { 

    public static void main (String[] args) { 

     ArrayList list = new ArrayList(); 



     int[] x = {1, 4, 3, 0, 1, 2}; 
     int[] y = {6, 4, 5, 0, 6, 1}; 


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

      int number = x[i]; 

      if (y[].(contains(x[i])){ // Line 19 

       list.add(x[i]);   
      } 

      System.out.println(list); 

     } 
    } 
} 
+1

說'if(y.contains(x [i]))'而不是 – devnull

+0

對不起,忘了提及我已經試過了,只是現在再次檢查。它出現了錯誤:找不到符號 符號:方法包含(int) 位置:變量y類型int [] – user3189610

回答

6

if (y[].(contains(x[i])){

上述線爲各種原因無效。 y數組的索引丟失。同樣根據要求,您需要調用列表上的contains()方法,而不是數組。似乎還有一對額外的大括號。

if (!list.contains(x[i])){ 
    list.add(x[i]); // Add to the list if it doesn't contain the value already 
} 

您也需要對y的元素也這樣做。

更好的解決方案:您可以使用Set而不是List。它會爲你消除重複。所有你需要做的只是從兩個數組中添加元素到你的集合中。

+0

還有額外的'('。此外,這很可能是'Set'接口和它的實現 –

+0

@TJCrowder - 是的,我也提到了,我也想添加更好的解決方案來使用'Set'!:)謝謝! :) – SudoRahul