Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查二维数组中的布尔值_Java - Fatal编程技术网

Java 检查二维数组中的布尔值

Java 检查二维数组中的布尔值,java,Java,我正在尝试用Java制作“生活的游戏”。我制作了一个2d矩阵,并用布尔值填充它 现在我在尝试计算相邻的真值的布尔值,但是当我使用=时,我得到它周围的所有细胞,例如:中间的一个单元给出8,一个角上的一个单元给出了3,而当我使用= =时,我只得到所有0个。 示例:如果第一条语句有效,第二条语句无效: if(!celloc.equals("URC") && !celloc.equals("RightB") && !celloc.equals("LRC")) {

我正在尝试用Java制作“生活的游戏”。我制作了一个2d矩阵,并用布尔值填充它

现在我在尝试计算相邻的真值的布尔值,但是当我使用=时,我得到它周围的所有细胞,例如:中间的一个单元给出8,一个角上的一个单元给出了3,而当我使用= =时,我只得到所有0个。 示例:如果第一条语句有效,第二条语句无效:

if(!celloc.equals("URC") && !celloc.equals("RightB") && !celloc.equals("LRC")) {
            if(current[i][j+1] = true) {
                life++; // right
            }}

单个=用于赋值,测试等效性时使用==。此外,如果当前[i][j+1]是布尔值,您可以简单地键入:

if(current[i][j+1]) {

测试该值是否为真。您可能会得到0,因为您可能无法得到该if语句。尝试添加一些输出,看看您的第一条if语句是否为真。

您应该尝试ifcurrent[i][j+1]==true{如果current是包含布尔值的数组,那么ifcurrent[i][j+1]如果两个都尝试过了,它们都给了我0。你的问题不清楚,请你试着更好地解释一下。什么不清楚?我必须要使用if语句,因为=让所有相邻值都有生命。尝试过==,给了我0。与ifcurrent[I][j+1]相同。请尝试其他调试语句以查看发生了什么。请确保i和j的值与检查时预期的值一致,如果不太大,请打印current。听起来好像您从未实际检查过一个为真的current值。@user569685:使用单个“=”可以满足if条件,因为您使用了该值赋值中的ed-true。赋值返回的值就是赋值。因此,使用“=true”将始终导致条件为true。我以前在代码中打印了current,也使用了它的坐标,因此我知道它们是准确的。我不想发布整个代码,因为它有200行。