话不多说,直接上题:

  题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。

       有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

  思路:创建两个char型数组,分别存放 a,b,c 和x,y,z.然后分别遍历 这两个数组,取出符合条件的值,

     代码如下:

     

  1. public static void main(String[] args) {
  2.  
  3. char[] AArray = { 'a', 'b', 'c' };
  4. char[] BArray = { 'x', 'y', 'z' };
  5. for (int i = 0; i < AArray.length; i++) {
  6.  
  7.   for (int j = 0; j < BArray.length; j++) {
  8.     if((AArray[i]=='a' && BArray[j]=='x')){
  9.       continue;
  10.     }else if(AArray[i]=='a' && BArray[j]=='y'){
  11.       continue;
  12.     }else if((AArray[i]=='c' && BArray[j]=='x')||(AArray[i]=='c' && BArray[j]=='z')){
  13.       continue;
  14.     }else if((AArray[i]=='b' && BArray[j]=='z')||(AArray[i]=='b' && BArray[j]=='y')){
  15.       continue;
  16.     }else{
  17.       System.out.println("对局情况为 :"+AArray[i]+" PK "+BArray[j]);
  18.     }
  19.  
  20.   }
  21. }
  22.  
  23. }

  打印结果为:

  

  1. 对局情况为 :a PK z
  2. 对局情况为 :b PK x
  3. 对局情况为 :c PK y

  这种方法就是根据给定的条件排除 他不可能对战的情况,剩下的二就是他对战的情况了,

  然我在网上又看到了一种写法,这种写法貌似看着更简单一点。代码如下:

  

  1. public static void main(String[] args) {
  2.  
  3. char i,j,k;
  4. for(i='x';i<='z';i++){
  5. for(j='x';j<='z';j++){
  6. if (i != j){
  7. for (k = 'x'; k <= 'z'; k++) {
  8. if (i != k && j != k) {
  9. if (i != 'x' && k != 'x' && k != 'z')
  10. System.out.println("A PK "+i+",B PK "+ j+",C PK"+ k);
  11. }
  12. }
  13. }
  14.  
  15. }
  16.  
  17. }
  18. }

打印结果为:A PK z,B PK x,C PK y

  这种方法貌似有点投机取巧了,也就是说x,y,z是连着 的,万一不是连着的呢,这种方法貌似就不可取了,

  但要是真是为了解决题而言,第二种不失为一种好的解决办法。

java算法小知识练习(二)的更多相关文章

  1. java算法小知识练习

    偶尔翻开了以前的练习题,不自觉又想随手敲一遍,虽然有些思想依然是那么老套,但毕竟也算是对知识的巩固 了. 一.题目:有1.2.3.4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 具体 ...

  2. Java基础小知识(一)

     序言:“不积跬步,无以至千里.不积小流,无以成江海.”每一个庞大的知识架构都是由无数个小知识点慢慢积累起来的,没有量变的积累,就没有质变上的飞跃,成功往往离不开积累. 今天就和大家分享一些我在学习J ...

  3. java基础小知识

    1.1常量: 基本数据类型常量 字符常量 整数常量的表现形式:一进制的形式来表示(二进制,八进制,十进制,十六进制) 生活中:十进制(0-9)  ,星期(七进制(0-6)) ,时间(十二进制(0-11 ...

  4. Java基础小知识笔记

    1. Integer转进制的一个类2. toBinaryString,toOctalString,toHexString.(转为二进制,八进制,十六进制的方法)3. 如果·数据的大小没有超过byte/ ...

  5. Java多线程基础知识(二)

    一. Java线程具有6种状态  NEW 初始状态,线程被创建,但是还没有调用start方法. RUNNABLE 运行状态,java线程将操作系统中的就绪和运行两种状态笼统的称作进行中. BLOCKE ...

  6. Java~时间戳小知识

    大叔对java时间戳使用的总结 Java里的Date对象有方法setTime,主要是将一个时间戳转成一个日期对象,而这个时间戳的标准是unix标准,即当前时间与1970/1/1相差的毫秒数,记得是毫秒 ...

  7. java反射基础知识(二)

    1. 了解 Java 中的反射 1.1 什么是 Java 的反射 Java 反射是可以让我们在运行时获取类的函数.属性.父类.接口等 Class 内部信息的机制.通过反射还可以让我们在运行期实例化对象 ...

  8. Java入门小知识

    软件开发什么是软件?  一系列按照特定顺序组织的计算机数据和指令的集合什么是开发?  制作软件 人机交互  软件的出现实现了人与计算机之间的更好的交互交互方式   图形化界面:这种方式简单直观,使用者 ...

  9. js--Ajax的小知识(二):处理ajax的session过期的请求

    问题的产生: 现如今Ajax在Web项目中应用广泛,几乎可以说无处不在. 有时会碰到这样个问题:当Ajax请求遇到Session超时,应该怎么办? 显而易见,传统的页面跳转在此已经不适用,因为Ajax ...

随机推荐

  1. C#应用Newtonsoft.Json操作json

    Newtonsoft.Json是一个开源的C#操作json的项目,应用起来非常简单.其github地址; 下面的代码演示了如何应用Newtonsoft.Json序列号和反序列化. using Newt ...

  2. [转]directsound抓取麦克风PCM数据封装类

    网上有很多方法从麦克风读取PCM数据,不想一一举例.只是在这里发布一个我自己写的directsound的麦克风PCM数据采集类,通过它,可以很方便的利用directsound技术把麦克风的数据采集到, ...

  3. 在 CentOS 上安装和配置 OpenNebula

    转自:http://www.aikaiyuan.com/4889.html 我们提到的云计算一般有三种类型:软件即服务(Software as a Service, SaaS),平台即服务(Platf ...

  4. Java数据库编程(JDBC)

    一.使用Java对数据库的操作步骤: 1.根据应用程序的数据库类型,加载相应的驱动: 2.连接到数据库,得到Connection对象: 3.通过Connection创建Statement对象: 4.使 ...

  5. UVa540 Team Queue

    // 题意:有t个团队的人在排队.每次来了一个新人之后,如果他有队友在排队,那么这个新人会插队到队友的身后. // 要求支持三种指令:ENQUEUE x; DEQUEUE(队首出队); STOP.模拟 ...

  6. Linux 安装oracle10g 配置dataguard 介绍和步骤

            DataGuard是甲骨文推出的一种高可用性数据库方案,在Oracle 8i之前被称为Standby Database.从Oracle 9i开始,正式更名为Data Guard.它是在 ...

  7. crm操作货币实体

    using System;     using Microsoft.Xrm.Sdk;     using Microsoft.Crm.Sdk.Messages; /// <summary> ...

  8. 从零开始学android开发-布局中 layout_gravity、gravity、orientation、layout_weight

    线性布局中,有 4 个及其重要的参数,直接决定元素的布局和位置,这四个参数是 android:layout_gravity ( 是本元素相对于父元素的重力方向 ) android:gravity (是 ...

  9. Codeforces Round #326 (Div. 2) B. Duff in Love 分解质因数

    B. Duff in Love Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/588/proble ...

  10. 密码强度应用(js)

    <!-- 密码强度div --> <div id="tips" class="help-block"> <b class=&quo ...