Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.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_Multidimensional Array - Fatal编程技术网

Java 多维数组的问题

Java 多维数组的问题,java,multidimensional-array,Java,Multidimensional Array,在我的家庭作业中,我需要表示宇宙中的细胞,其中“*”表示活细胞,空白(“”)表示死细胞。以下规则用于确定特定单元在下一代中的状态: 任何少于两个活邻居的活细胞都会死亡,就好像是由于人口不足造成的一样 任何有两个或三个活邻居的活细胞都会延续到下一代 任何有三个以上活邻居的活细胞都会死亡,就好像是由于人口过剩 任何有三个活邻居的死细胞都会变成活细胞,就好像是由生殖引起的一样 例如,考虑以下阵列: int[][] beehive = {{0,0,0,0,0,0}, {0,0,1,1,0,0}, {

在我的家庭作业中,我需要表示宇宙中的细胞,其中“*”表示活细胞,空白(“”)表示死细胞。以下规则用于确定特定单元在下一代中的状态:

  • 任何少于两个活邻居的活细胞都会死亡,就好像是由于人口不足造成的一样
  • 任何有两个或三个活邻居的活细胞都会延续到下一代
  • 任何有三个以上活邻居的活细胞都会死亡,就好像是由于人口过剩
  • 任何有三个活邻居的死细胞都会变成活细胞,就好像是由生殖引起的一样
例如,考虑以下阵列:

int[][] beehive = {{0,0,0,0,0,0}, {0,0,1,1,0,0}, {0,1,0,0,1,0}, 
{0,0,1,1,0,0}, {0,0,0,0,0,0}};
int[][] toad = {{0,0,0,0,0,0}, {0,0,1,1,1,0}, {0,1,1,1,0,0}, {0,0,0,0,0,0}};

getNextGenCell(beehive, 1, 3) returns 1, while getNextGenCell(beehive, 3, 1) 
returns 0.
getNextGenCell(toad, 0, 3) returns 1, while getNextGenCell(toad, 2, 3) 
returns 0.
我对如何继续执行这段代码感到困惑。有什么建议吗

我的代码必须具有以下标题,其中int x表示子数组,int y表示该子数组中的元素。如果单元格在下一代中处于活动状态,则代码返回1,否则返回0

    // A method that gets the cell from the next generation

    public static int getNextGenCell(int[][] validUniverse, int x, int y) {


    }

您首先必须确定您希望程序的逻辑如何流动。在本例中,您知道在遍历2D数组时有8种不同的情况。这些措施包括:

  • 左上角
  • 右上角
  • 第一排的其余部分
  • 左下角
  • 右下角
  • 最后一排的其余部分
  • 阵列的左侧和右侧
  • 数组的其余部分
您将需要针对每种情况的if语句。以下是“阵列的其余部分”案例的代码示例:


现在只需完成其他7个案例,计算“活”或“死”单元的数量,并相应地修改阵列。如果您有任何问题,请告诉我。

这里的人在回答问题时可能会有点“挑剔”。你在解释你的家庭作业方面做得很好,但是你需要解释清楚是什么让你对如何进行感到困惑。你提供的说明似乎很清楚,你不明白其中的哪一部分?它也有助于告诉人们你尝试了什么,以及为什么它没有给你想要或期望的结果。祝你好运@DanForbes我对如何开始编写代码感到困惑。我正在寻找关于如何进行的任何建议或提示。对于给定的x,y坐标,您将如何确定邻居?首先计算出算法,然后试着编写匹配的代码。@KevinO我本来想做嵌套for循环,但似乎效率太低了。@Elizabeth-我建议你在办公时间去拜访助教或你的教授,解决类似的基本问题。
 if(x!=0&&y!=0&&x!=bees.length-1&&y!=bees[x].length-1&&bees[x][y+1]==1||bees[x][y-1]==1||bees[x+1][y]==1||bees[x-1][y]==1)