java例题_18 乒乓球比赛(对手问题)

 1 /*18 【程序 18 乒乓球赛】 
 2 题目:两个乒乓球队进行比赛,各出三人。甲队为 a,b,c 三人,乙队为 x,y,z 三人。已抽签决定比赛名单。
 3 有人向队员打听比赛的名单。a说他不和 x比,c说他不和 x,z 比,
 4 请编程序找出三对赛手的名单。 
 5 */
 6 
 7 
 8 /*分析
 9  * (a!=x)&(c!=x)&(c!=z)==>b=x
10  * (b=x)&(c!=z)==>a=z
11  * ==>c=y
12  * ------------------enmmmmm,直接就出来了
13  * 如题,既然抽签是抽签决定,那就试试抽签
14  * 分别给甲队A,B,C三个号1,2,3,再通过条件排除,判断X,Y,Z三人手上是什么签=====有问题,判断不了哪个签再谁手上
15  * 借鉴网上办法,直接将乙队没人的ASCII码赋给甲队,就能通过if判断谁可能是对手,用三层循环,每层判断一个人的可能对手,就能得到最终三人的对手
16  * */
17 
18 
19 
20 
21 package homework;
22 
23 public class _18 {
24 
25     public static void main(String[] args) {
26         char A,B,C; //分别给甲队每人一个数字签
27         //第一层循环判断A可能的对手
28         for ( A='X'; A<='Z'; A++) {
29             if(A!='X') {      //A说不和X比赛
30                 //第二层判断B可能的对手(没有条件,直接枚举所有的)
31                 for (B='X';B<='Z'; B++) {
32                     //第三层判断C可能的对手
33                     for(C='X';C<='Z'; C++) {
34                         if((C!='X')&(C!='Z')&(A!=B)&(A!=C)&(B!=C)) {   //C说不和X,Z比赛
35                             System.out.println("各组对手为:\n"+"A-"+A+"\nB-"+B+"\nC-"+C);
36                         }
37                     }
38                 }
39             }
40         }
41 
42     }
43 
44 }

猜你喜欢

转载自www.cnblogs.com/scwyqin/p/12304814.html