我是换行的代码

<br><br><br><br><br><br><br>

我是目录

点击跳转的位置
[第n版算法](#num)

跳转后的位置
<div id="num">第n版算法</div>
<h2 id="num">第n版算法</h2>

第一版算法

public static void main(String[] args) {

    // 用于计算循环次数
    int count = 0;

    // 老公组
    List<Couple> husbands = new ArrayList<>();
    husbands.add(new Couple(1, "梁山伯"));
    husbands.add(new Couple(2, "牛郎"));
    husbands.add(new Couple(3, "干将"));
    husbands.add(new Couple(4, "工藤新一"));
    husbands.add(new Couple(5, "罗密欧"));

    // 老婆组
    List<Couple> wives = new ArrayList<>();
    wives.add(new Couple(1, "祝英台"));
    wives.add(new Couple(2, "织女"));
    wives.add(new Couple(3, "莫邪"));
    wives.add(new Couple(4, "毛利兰"));
    wives.add(new Couple(5, "朱丽叶"));

    for (Couple husband : husbands) {
        for (Couple wife : wives) {
            // 记录循环的次数
            count++;
            if (husband.getFamilyId().equals(wife.getFamilyId())) {
                System.out.println(husband.getUserName() + "爱" + wife.getUserName());
            }
        }
    }
    
    System.out.println("----------------------");
    System.out.println("循环了:" + count + "次");
}

第二版算法

public static void main(String[] args) {

    // 用于计算循环次数
    int count = 0;

    // 老公组
    List<Couple> husbands = new ArrayList<>();
    husbands.add(new Couple(1, "梁山伯"));
    husbands.add(new Couple(2, "牛郎"));
    husbands.add(new Couple(3, "干将"));
    husbands.add(new Couple(4, "工藤新一"));
    husbands.add(new Couple(5, "罗密欧"));

    // 老婆组
    List<Couple> wives = new ArrayList<>();
    wives.add(new Couple(1, "祝英台"));
    wives.add(new Couple(2, "织女"));
    wives.add(new Couple(3, "莫邪"));
    wives.add(new Couple(4, "毛利兰"));
    wives.add(new Couple(5, "朱丽叶"));

    for (Couple husband : husbands) {
        for (Couple wife : wives) {
            // 记录循环的次数
            count++;
            if (husband.getFamilyId().equals(wife.getFamilyId())) {
                System.out.println(husband.getUserName() + "爱" + wife.getUserName());
                // 牵手成功,换下一位男嘉宾
                break;
            }
        }
    }

    System.out.println("----------------------");
    System.out.println("循环了:" + count + "次");
}

第三版算法

public static void main(String[] args) {

    // 用于计算循环次数
    int count = 0;

    // 老公组,原先梁山伯第一个出场,现在换罗密欧第一个
    List<Couple> husbands = new ArrayList<>();
    husbands.add(new Couple(5, "罗密欧"));
    husbands.add(new Couple(4, "工藤新一"));
    husbands.add(new Couple(3, "干将"));
    husbands.add(new Couple(2, "牛郎"));
    husbands.add(new Couple(1, "梁山伯"));

    // 老婆组
    List<Couple> wives = new ArrayList<>();
    wives.add(new Couple(1, "祝英台"));
    wives.add(new Couple(2, "织女"));
    wives.add(new Couple(3, "莫邪"));
    wives.add(new Couple(4, "毛利兰"));
    wives.add(new Couple(5, "朱丽叶"));

    for (Couple husband : husbands) {
        for (Couple wife : wives) {
            // 记录循环的次数
            count++;
            if (husband.getFamilyId().equals(wife.getFamilyId())) {
                System.out.println(husband.getUserName() + "爱" + wife.getUserName());
                // 牵手成功,把女嘉宾从舞台请下来,同时换下一位男嘉宾上场
                wives.remove(wife);
                break;
            }
        }
    }

    System.out.println("----------------------");
    System.out.println("循环了:" + count + "次");
}

第四版算法

public static void main(String[] args) {

    // 用于计算循环次数
    int count = 0;

    // 老公组
    List<Couple> husbands = new ArrayList<>();
    husbands.add(new Couple(1, "梁山伯"));
    husbands.add(new Couple(2, "牛郎"));
    husbands.add(new Couple(3, "干将"));
    husbands.add(new Couple(4, "工藤新一"));
    husbands.add(new Couple(5, "罗密欧"));

    // 老婆组
    List<Couple> wives = new ArrayList<>();
    wives.add(new Couple(1, "祝英台"));
    wives.add(new Couple(2, "织女"));
    wives.add(new Couple(3, "莫邪"));
    wives.add(new Couple(4, "毛利兰"));
    wives.add(new Couple(5, "朱丽叶"));

    // 给女嘉宾发牌子
    Map<Integer, Couple> wivesMap = new HashMap<>();
    for (Couple wife : wives) {
        // 女嘉宾现在不在List里了,而是去了wivesMap中,前面放了一块牌子:男嘉宾的号码
        wivesMap.put(wife.getFamilyId(), wife);
        count++;
    }

    // 男嘉宾上场
    for (Couple husband : husbands) {
        // 找到举着自己号码牌的女嘉宾
        Couple wife = wivesMap.get(husband.getFamilyId());
        System.out.println(husband.getUserName() + "爱" + wife.getUserName());
        count++;
    }

    System.out.println("----------------------");
    System.out.println("循环了:" + count + "次");
}
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐