Java经典50题之18

本文介绍了一个简单的Java程序,该程序解决了一个特定的问题:两个乒乓球队进行比赛时如何根据队员的限定条件正确配对参赛选手。通过使用ArrayList来管理队伍成员,并通过循环逻辑找出符合条件的比赛配对。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.util.ArrayList;

/**
 * 题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。
 * 有人向队员打听比赛的名单。
 * a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单
 */
public class Classic18 {
    public static void main(String args[]){
        ArrayList racerA = new ArrayList();
        racerA.add("a");
        racerA.add("b");
        racerA.add("c");
        ArrayList racerB = new ArrayList();
        racerB.add("x");
        racerB.add("y");
        racerB.add("z");
        ArrayList list = new ArrayList(); //可能的对手
        int count =0; //A对中找到对手的人数
        while(count <3){
            for(int i=0;i<racerA.size();i++){
                for(int j =0;j<racerB.size();j++){
                    if(racerA.get(i).equals("a")) {
                        if (!racerB.get(j).equals("x")) //a 的对手不是 x
                            list.add(racerB.get(j));
                    }
                    else if(racerA.get(i).equals("b")) //b 的对手起初无限定
                        list.add(racerB.get(j));
                    else if(racerA.get(i).equals("c")){
                            if((!racerB.get(j).equals("x")) && (!racerB.get(j).equals("z")))//c的对手不是x,z
                                list.add(racerB.get(j));
                        }
                }
                if(list.size()==1){//可能对手只有一名,则此人就是racerA的对手
                    count++; //
                    System.out.println(racerA.get(i)+"的对手是:"+list.get(0));
                    racerA.remove(racerA.get(i));
                    racerB.remove(list.get(0));
                    list.clear();
                    break;
                }
                list.clear();
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值