【问题标题】:How can I have to values be used in an either/or manner?我如何必须以非此即彼的方式使用值?
【发布时间】:2012-10-06 02:59:12
【问题描述】:

我正在尝试制作简单的扑克游戏,并指出 A 的“数字”可能是 13 或 0(A 高与 A 低)。当我使用冒泡排序来确定顺子时,我想将 Ace 的编号分配给 1 和 13。我知道 Java 不支持动态变量,但是有没有一种方法可以在这种情况下返回两个值的 int一种被解读为非此即彼的方式?

【问题讨论】:

    标签: variables dynamic int


    【解决方案1】:

    为什么你不返回一个包含两个元素的向量? 另一种方法是在 Java 中创建一个元组,解决方案在这里: Using Pairs or 2-tuples in Java

    【讨论】:

    • 哦元组。我喜欢这个概念,在另一个项目上寻找类似的东西。不过,对于这个,我认为它最终会成为一个 if then in a 'hand' class 'sort' method。我想到的另一个想法是,如果我可以定义自己的原始类型,比如一个只有 14 个数字并在自身上循环的数字类。试图寻找它,但一无所获。
    【解决方案2】:

    如果在冒泡排序的每次迭代中,您都进行具有 2 个可能值的比较,根据您的比较方式,您最终会得到不一致的排序,例如:

    您希望这些输入的排序结果是什么: K(11), A(01,13), Q(12) 在第一步之后,您希望 A 处于第 1 位还是第 3 位?

    最简单的方法可能是对它进行两次排序,每次都有不同的 Ace 值

    【讨论】:

    • 我实际上创建了一个名为 card { private string suit; 的类。 //俱乐部,红心等私人字符串面; //jack、10、deuce 等私有 int 计数; //this确定运行私有int值; //这是确定值,ace 14 deuce 1 }
    • 计数值仅用于确定运行而不是值,因此它可以是 0 或 13,因为它可以结束或开始运行。该值将决定它在手中的位置(从高到低,从左到右)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多