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 }