2 opeijiao12 oPeiJiao12 于 2016.04.06 15:38 提问

java 两个for循环一个遍历list 一个遍历数组 只要输出list的内数据
    public static void main(String[] args) {
        String s[]={"1","2","3","4"};
        List<String> k = new ArrayList<String>();
        k.add("1");
        k.add("2");
        k.add("3");
        k.add("4");
        k.add("5");
        k.add("6");
        for (String ss : k) {
            for (String d : s) {
                if(d.equals(ss)){
                    System.out.println("相同:"+ss);
                }else{
                    System.out.println("不相同:"+ss);
                }
            }
        }
    }

5个回答

qq_14982047
qq_14982047   2016.04.07 09:11
已采纳

不好意思,刚才没看仔细,这下应该好了

 import java.util.*;

public class test{
    public static void main(String[] args) {
            String s[]={"1","2","3","4"};
            int flag=0;
            List<String> list = new ArrayList<String>();
            list.add("1");
            list.add("2");
            list.add("3");
            list.add("4");
            list.add("5");
            list.add("6");
            for (String l: list) {
                for (String str:s) {
                    if(s.equals(l)){
                        System.out.println("相同:"+str);
                        flag=1;
                        break;
                    }
                    else {
                        flag=0;
                    }
                }
                if (flag==0) {
                    System.out.println("不相同:"+l);
                }
            }
        }

}

oPeiJiao12
oPeiJiao12 回复在地图上飞行: 行了,谢谢哈....
一年多之前 回复
qq_14982047
qq_14982047 把if判断中的s改成str会更好一点
一年多之前 回复
sl_18500
sl_18500   2016.04.06 16:42

没看懂需求

oPeiJiao12
oPeiJiao12 需要输出的格式: 相同:1 相同:2 相同:3 相同:4 不相同:5 不相同:6
一年多之前 回复
oPeiJiao12
oPeiJiao12 刚才没贴上去
一年多之前 回复
xiatianlong_xtl
xiatianlong_xtl   2016.04.06 17:06

你应该是想找出他们相同的数据吧。
public static void main(String[] args) {

    String s[]={"1","2","3","4"};
    List<String> k = new ArrayList<String>();
    k.add("1");
    k.add("2");
    k.add("3");
    k.add("4");
    k.add("5");
    k.add("6");

    for (int i = 0; i < s.length; i++) {
        for (int j = 0; j < k.size(); j++) {
            if (s[i].equals(k.get(j))){
                System.out.println(k.get(j));
            }
        }
    }

}
oPeiJiao12
oPeiJiao12 需要输出的格式: 相同:1 相同:2 相同:3 相同:4 不相同:5 不相同:6
一年多之前 回复
oPeiJiao12
oPeiJiao12   2016.04.06 17:25

需要输出的格式:
相同:1
相同:2
相同:3
相同:4
不相同:5
不相同:6

qq_14982047
qq_14982047   2016.04.06 19:19

增加一个break跳出循环就好了

 import java.util.*;

public class test{
    public static void main(String[] args) {
            String s[]={"1","2","3","4"};
            List<String> k = new ArrayList<String>();
            k.add("1");
            k.add("2");
            k.add("3");
            k.add("4");
            k.add("5");
            k.add("6");
            for (String ss : k) {
                for (String d : s) {
                    if(d.equals(ss)){
                        System.out.println("相同:"+ss);
                        break;
                    }else{
                        System.out.println("不相同:"+ss);
                        break;
                    }
                }
            }
        }

}

oPeiJiao12
oPeiJiao12 不行...输出的是:相同:1 不相同:2 不相同:3 不相同:4 不相同:5 不相同:6
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!