java两个数组比较,相同为1,不同为0;(刚刚没有说明白)

java两个数组比较,相同为1,不同为0;(刚刚没有说明白)

问题描述:

图片说明
刚刚估计描述的不清楚,我用图代替了我说的话。
也就是数组n中的数字 知道有哪些 ----而且最上面的那个用来比较的数字是固定的。

两者的数字比较,也就是equals比较,当数组n中的数字里面含有最上面的那个比较的数字时候,二维数组在对应的地方标1,否者标0;

需要用java代码实现。。刚刚我写的错了,就不献丑了

不知道是不是这意思:

 public static void main(String[] args) {
        String[] a={"4","2"};
        String[][] b={{"3","1","5","2"},{"4","5","6","1"}};


        for (int k = 0, countK = b.length; k < countK;++k)
        {
            for (int i = 0, count = b[k].length;i < count;++i)
            {   
                for (int j = 0, countJ = a.length;j < countJ;++j)
                {
                    if (b[k][i].equals(a[j]))
                    {
                        b[k][i] = "1";
                        break;
                    }else if (j == countJ - 1)
                    {
                        b[k][i] = "0";
                    }
                }
            }
        }

        for (int k = 0, countK = b.length; k < countK;++k)
        {
            System.out.println("第" + (k+1) + "个组");
            for (int j = 0, countJ = b[k].length;j < countJ;++j)
            {
                System.out.println("第" + (j+1) + "个元素:" + b[k][j]); 
            }
        }
    }

你的这个需求,逻辑上有问题。

例如有两个数组String a[2]={"0","1"}
String[2][4] b={{"第一个元素","第二个元素","第三个元素","第四个元素"},{"4","5","6","1"}}

那你会把 数组a和二维数组b的所有元素比较,这时,肯定是会被你认为 “不同”,然后,全部置为 0.

所以,你的结果恒是0

那你会把 数组a和二维数组b的所有元素比较

拿数组a[0],即"0" 和b的所有项比较,b里面是没有 "0"的,所以,第一次循环完了,数组b里面,全部是 "0"了