java - 为什么我收到 'the operator && is undefined for the argument type(s) char,char' 错误

标签 java arrays char boolean

    if ((board[x][x] && board[x + 1][x + 1] && board[x + 2][x + 2]) == 'Y') {
            playerWins = true;
            }

为什么我不能使用 && 和 ||在这里?

最佳答案

你想要这个:

if (board[x][x] == 'Y' && board[x + 1][x + 1] == 'Y' && board[x + 2][x + 2] == 'Y') {
    playerWins = true;
}

&& 只能用于将 boolean 表达式连接在一起。

您的代码假定某种分布规则,例如 (x && y) == z 相当于 (x == z) && (y == z)。在英语中,您可以这样表述“如果 x 和 y 都是 z”,但编程语言(和形式逻辑)没有这样的定义。

关于java - 为什么我收到 'the operator && is undefined for the argument type(s) char,char' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40327475/

相关文章:

javascript - 如何从二维数组中提取列?

java - 使用.toUpperCase()编译代码时得到 'char cannot be dereferenced error';

java - 通过创建方法来比较两个对象

java - 有更有效的方法来处理这个问题吗?

java - 我需要帮助重命名数组中的元素

arrays - 将相同类型的命令行参数读入Powershell中的数组/哈希

java - Spring Boot Controller 不支持请求方法 'GET'

java - setSupportActionBar(工具栏工具栏) 在我的 Material 项目中不起作用

c - 将 char 指针数组传递给 C 中的函数?

C++:使用函数重载和 char 到 int 之间的隐式转换,反之亦然