美文网首页基础编程50题
【习题18】比赛选手问题(值得深思,答案不完整)

【习题18】比赛选手问题(值得深思,答案不完整)

作者: Xplorist | 来源:发表于2017-03-26 16:13 被阅读31次

【程序18】
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

package com.share.test11_20;

/**
 * 【程序18】题目:<br>
 * 两个乒乓球队进行比赛,各出三人。<br>
 * 甲队为a,b,c三人,乙队为x,y,z三人。<br>
 * 已抽签决定比赛名单。有人向队员打听比赛的名单。<br>
 * a说他不和x比, c说他不和x,z比,<br>
 * 请编程序找出三队赛手的名单。   
 * 
 * @author brx
 */
public class Test18 {
    public static void main(String[] args) {
        test();
    }

    /**
     * 思路:<br>
     * 这种思路,完全就是直接将结果写出来了,直接限制了所有不可能的情况,<br>
     * 和直接将通过的情况写出来有什么区别?这只是训练了continue语句而已<br>
     * 关键的是要将互斥的情况用计算机语言表达出来,选了一个然后就不能选其他的了
     */
    public static void test() {
        String[] s1 = { "a", "b", "c" };
        String[] s2 = { "x", "y", "z" };
        for (int i = 0; i < s1.length; i++) {
            for (int j = 0; j < s2.length; j++) {
                if (s1[i].equals("a") && s2[j].equals("x")) {
                    continue;
                } else {
                    if (s1[i].equals("a") && s2[j].equals("y")) {
                        continue;
                    }
                }
                if (s1[i].equals("b") && s2[j].equals("y")) {
                    continue;
                } else {
                    if (s1[i].equals("b") && s2[j].equals("z")) {
                        continue;
                    }
                }
                if (s1[i].equals("c") && s2[j].equals("x")) {
                    continue;
                } else {
                    if (s1[i].equals("c") && s2[j].equals("z")) {
                        continue;
                    }
                }
                System.out.println(s1[i] + " -vs- " + s2[j]);
            }
        }
    }
}

相关文章

网友评论

    本文标题:【习题18】比赛选手问题(值得深思,答案不完整)

    本文链接:https://www.haomeiwen.com/subject/yojkottx.html