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"了