挨个找啊.
int k=0;
for(int i=0;i<a.length;i++){
for(int j=0;j<a.length;j++){
if(a[i].equels(b.[j]))
{
}else {
c[k]=a[i];
k++;
}
}
}如果追求效率,还可以找到一个就把b中的删一个。具体代码自己写吧。

解决方案 »

  1.   

    for(int j=0;j<a.length;j++){改成
    for(int j=0;j<b.length;j++){
      

  2.   

    意思就是将a和b进行比较,将b中没有的数组元素找出来,加到C中
    楼上的根本不对呀!
      

  3.   

    先得知道C的长度才能new吧?那就执行2次。。int c_length = 0;
    boolean boo = false;for(int i=0;i<a.length;i++){
    boo = false;
    for(int j=0;j<b.length;j++){
    if(a[i].equals(b[j])){
    boo = true;//设标志
    break;
    }
    }
    if(!boo){
    c_length ++;
    }
    }
    //到这一步,得到了c的长度c_length
    String[] c = new String[c_length];
    int c_index = 0;//c的脚标
    for(int i=0;i<a.length;i++){
    boo = false;
    for(int j=0;j<b.length;j++){
    if(a[i].equals(b[j])){
    boo = true;
    break;
    }
    }
    if(!boo){
    c[c_index] = a[i];
    c_index ++;//存完一个后后移
    }
    }
    //到这一步,把a中有而b中无的串存入了c
    System.out.print(c);
      

  4.   

    给你一个简洁的:String[] a=new String[]{"2","3","hn","3df","df23","23","1"};
    String[] b=new String[]{"3df","2","hn","23"};
    List list=new ArrayList(Arrays.asList(a));
    List except=new ArrayList(Arrays.asList(b));
    list.removeAll(except);
    String[] c=(String[])list.toArray(new String[0]);
      

  5.   

    如果数据量比较大的话,最好不要使用上面的代码,毕竟ArrayList的remove方法是我一直不推荐的,
    性能比较差:http://blog.csdn.net/treeroot/archive/2004/09/28/119699.aspx
      

  6.   

    treeroot(根根)的方法是本题的优秀解法。
    但仅适合本题。对于大数据量的不能这样!
      

  7.   

    我的办法呢?代码是多了点,可是明白易懂啊,而且没用什么API,实际JVM执行的代码其实也不会太多,呵呵