Java中两个Int数组的联合

时间:2013-02-18 17:48:08

标签: java arrays exception union

这是我的代码

    import java.util.Arrays;
class union {
    public static void main(String args[]) {

int[] A = new int[1000];
int[] B = new int[1000];
int[] C = new int[2000];    
    for (int i= 3;i < 1000 ; i += 3) {
        A[i/3] = i; 
    }
    for (int j=5; j < 1000; j += 5) {
        B[j/5] = j;
    }

    C = unionArrays(A, B);

    }
}

我在编译时遇到以下错误

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    The method unionArrays(int[], int[]) is undefined for the type union

    at union.main(union.java:15)

2 个答案:

答案 0 :(得分:1)

在这种情况下,您可能希望使用HashSet而不是像这样的数组:

import java.util.HashSet;
public class ProjectEulerOne{
 public static void main(String[] args){
 HashSet<Integer> SetA= new HashSet<Integer>();
  for(int i = 3; i<1000; i+=3){
     SetA.add(new Integer(i));
  }
  for(int i = 3; i<1000; i+=3){
     SetA.add(new Integer(i));
  }
  int total =0;
  Iterator<Integer> iter = numSet.iterator();
  Integer current;
  while(iter.hasnext()){
   current = iter.next();
   total += current.intValue();
  }
 }
}

这是HashSet javadoc,我完成了这个因为“迭代器很奇怪”,但是对你的Project Euler的其余部分来说好运。

如果你想用我支持列表数学的APL / J / K建议的数学方法。

答案 1 :(得分:0)

在班级中定义unionArrays(int[], int[])。检查类似的SO post here