java - (代码审查)涉及逻辑和(&&)运算符的 Java if 语句

标签 java android

<分区>

几周前我开始使用 java/android 编程。我想编写一个小型井字游戏作为 Android 应用程序,但我在使用我的方法检查获胜者时遇到了问题。具体如下:

 public void checkForWinner() { 

        if( taken[0] && taken[3] && taken[6]  ||
            taken[0] && taken[1] && taken[2] ||
            taken[2] && taken[5] && taken[8] ||
            taken[6] && taken[7] && taken[8] ||
            taken[0] && taken[4] && taken[8] ||
            taken[2] && taken[4] && taken[6] ||
            taken[1] && taken[4] && taken[7] ||
            taken[3] && taken[4] && taken[5] == 1 ){}
}

这里我有一个名为 taken 的数组,它包含 9 个整数,这些整数中的每一个要么是 1,意味着玩家一拥有该 block ,要么是二,意味着玩家二拥有该 block 。目前,我正在尝试所有可能的场景,其中玩家 1 将成为赢家,但 Eclipse 告诉我 The operator && is undefined for the argument type(s) int, int。该错误似乎只针对 if 语句的每一行的第一个逻辑和操作显示。例如,第一个错误上升到 taken[0] && taken[3],然后消失直到下一行。

最佳答案

或者,您可以检查 taken[n] 值以查看它们是否为 1 或 2,如果您认为这会使您的代码更清晰:

(taken[0]==1 && taken[3]==1 && taken[6]==1)

请记住,&& 运算符需要 boolean 操作数...因此它不会像您期望的那样与您的 int 数组一起工作。

关于java - (代码审查)涉及逻辑和(&&)运算符的 Java if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11251740/

相关文章:

android - 我想要 SimpleAdapter 中的 Imageview 吗?

android - 是否可以释放 C++ 分配的内存输出

android - 禁用自动滑动。库android-menudrawer

android - 对话框宽度不合适

android - 使用新的 Google Maps API 解码折线

java - 需要有关 Java 生产者消费者问题、NullPointerException 的帮助

java - OSGi原型(prototype)组件的初始化

java - 破解 Log4j 以发送自定义 SysLog 消息

java运行时getruntime exec超时返回退出总是NULL并且总是TimeoutException?

java - 打印数组列表中的内容