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 }

java例题_18 乒乓球比赛(对手问题)的更多相关文章

  1. 玩转Java多线程(乒乓球比赛)

    转载请标明博客的地址 本人博客和github账号,如果对你有帮助请在本人github项目AioSocket上点个star,激励作者对社区贡献 个人博客:https://www.cnblogs.com/ ...

  2. java实现奇怪的比赛

    ** 奇怪的比赛** 某电视台举办了低碳生活大奖赛.题目的计分规则相当奇怪: 每位选手需要回答10个问题(其编号为1到10),越后面越有难度.答对的,当前分数翻倍:答错了则扣掉与题号相同的分数(选手必 ...

  3. Java从设计模式[本场比赛状态转换武器]状态分析(State)模式

    如果我们正在做一个实时战略游戏.我们设计了一个武器,他制作只是当步兵,但他能够切换武器.第一个开关会变成弓箭手,第二个开关导通控股装甲盾牌,第三开关变成步兵--如何实现这一目标切换机构?我们开始思考, ...

  4. 【Java例题】8.2 手工编写字符串统计的可视化程序

      2. 手工编写字符串统计的可视化程序. 一个Frame窗体容器,布局为null,两个TextField组件,一个Button组件. Button组件上添加ActionEvent事件监听器Actio ...

  5. 【Java例题】8.1手工编写加法器的可视化程序

    1. 手工编写加法器的可视化程序. 一个Frame窗体容器,布局为null,三个TextField组件,一个Button组件. Button组件上添加ActionEvent事件监听器ActionLis ...

  6. 【Java例题】7.6文件题3-文本文件统计

    6.文本文件统计.已有一个文本文件文件,请统计数字.大写字母.小写字母.汉字及其它字符出现的次数:然后将这些次数由大到小写到另一个文件之中.说明:将次数为零的过滤掉排序 package chapter ...

  7. 【Java例题】7.4 文件题1-学生成绩排序

    4.学生成绩排序.已有一个学生成绩文件,含有多位学生的成绩:读取这个文件中的每位学生的成绩,然后排序:最后将这些排好序的成绩写到另一个文件中. package chapter7; import jav ...

  8. 【Java例题】7.5 文件题2-学生成绩统计

    5.学生成绩统计.已有一个学生成绩文件,含有多位学生的各三门课的成绩:读取这个文件中的每位学生的三门课成绩,然后计算均分:最后对这些均分按照大于或小于75分的界限,分别写到另两个文件中. packag ...

  9. 【Java例题】7.1 线程题1-时间显示线程

    1.时间显示线程.设计一个示线程子类,每秒钟显示一次当前时间:然后编写主类,在主函数中定义一个线程对象,并启动这个线程 package chapter7; import java.text.Simpl ...

随机推荐

  1. ES6 Arrow Function All In One

    ES6 Arrow Function All In One this const log = console.log; const arrow_func = (args) => log(`arg ...

  2. 高级数据结构之 BloomFilter

    高级数据结构之 BloomFilter 布隆过滤器 https://en.wikipedia.org/wiki/Bloom_filter A Bloom filter is a space-effic ...

  3. p5.js

    p5.js p5.j​​s是一个用于创意编码的JavaScript库,其重点是使艺术家,设计师,教育者,初学者以及其他任何人都可以访问并包含所有编码! https://p5js.org/ https: ...

  4. Netty & websockets

    Netty & websockets Netty is a non-blocking I/O client-server framework for the development of Ja ...

  5. Array in Depth

    Array in Depth Array.concat() & Array.push() https://developer.mozilla.org/en-US/docs/Web/JavaSc ...

  6. WebView & WKWebView & UIWebView

    WebView & WKWebView & UIWebView WebView WKWebView https://developer.apple.com/documentation/ ...

  7. Flutter: IntrinsicWidth类,将孩子的宽度调整为孩子的最大内在宽度

    文档 原文 class HomePage extends StatefulWidget { @override _HomePageState createState() => _HomePage ...

  8. redis源码之SDS

    1:SDS介绍 我们在redis中执行命令 set key name 的时候,key和name都是字符串类型,而且字符串(string)在redis中是会经常用到的类型,那redis是如何保存字符串的 ...

  9. MySQL 修改数据表

    修改数据表: 创建数据表 更改表明 更改字段数据类型 更改字段名称 更改字段名称和数据类型 为表添加新字段 将字段顺序改为第一位 将字段顺序改为另一个字段之后 删除字段 1 use test; 2 3 ...

  10. 页面导入导出EXCEL

    引用 using Microsoft.Office.Interop.Excel;using System.Reflection;//反射命名空间using System.IO; protected v ...