假设有两个数组a[],b[],数组元素已知,我想得到a在b中没有的元素,找到一个就可以,该怎么实现?
我老是在退出循环的时候出现异常,代码如下:(我的是4个数组,22分组)
for(int p=0;p<as4.length;p++){
for (i = 0; i < temp1.length; i++) {
if (!(as4[p].equals(temp1[i]) &&
as5[p].equals(temp2[i]))) {
if (i == temp1.length - 1) {
s4 = as4[p];
s5 = as5[p];
p = as4.length;
}
} else {
if (p == as4.length - 1) {
sign = false; }
break;
}
}
}
我老是在退出循环的时候出现异常,代码如下:(我的是4个数组,22分组)
for(int p=0;p<as4.length;p++){
for (i = 0; i < temp1.length; i++) {
if (!(as4[p].equals(temp1[i]) &&
as5[p].equals(temp2[i]))) {
if (i == temp1.length - 1) {
s4 = as4[p];
s5 = as5[p];
p = as4.length;
}
} else {
if (p == as4.length - 1) {
sign = false; }
break;
}
}
}
for(j=0;j<a.size();j++){
for(i=0;i<b.size();i++)
{
if(a[i].equals(b[i]))
{
System.out.println(a[i]);
break;
break;
}
else continue;
}
}}
这样子 好像九可以了 没有测试代码 没有看懂楼主的代码想干什么
String[] b = {"2", "3", "5", "6", "7", "8"};
ArrayList list = new ArrayList(); //存储 a 在 b 中不存在的 元素
for (int i = 0; i < a.length; i++) {
Boolean flag = true;
for (int j = 0; j < b.length; j++) {
if (!a[i].equals(b[j])) {
flag = false;
} else {
flag = true;
break;
}
}
if (flag == false) {
list.add(a[i]);
}
}
// 输出没有的元素
if (list.size() <= 0) {
System.out.println("a的元素在b中都有!");
return;
}
// 输出a 在 b 中不存在的 所有元素
for (Object obj : list) {
System.out.println(obj.toString());
}
import java.util.List;
public class test {
public static void main(String args[]){
List list=new ArrayList();
String[] str1={"1","2","3","4"};
String[] str2={"2","3","4","5"};
for(int i=0;i<str2.length;i++){
list.add(str2[i]);
}
for(int i=0;i<str1.length;i++){
if(!list.contains(str1[i])){
System.out.println(str1[i]);
break;
}
}
}}
import java.util.List;
public class test {public static void main(String args[]){
List list=new ArrayList();
String[] str1={"1","2","3","4"};
String[] str2={"2","3","4","5"};
for(int i=0;i<str2.length;i++){
list.add(str2[i]);}for(int i=0;i<str1.length;i++){
if(!list.contains(str1[i])){
System.out.println(str1[i]);
break;
}
}
}}
GREAT
搞不清你要干什么不过我猜应该是在P那里出问题了
要不就是break
自已找找