gpt4 book ai didi

java - 缺少返回语句java

转载 作者:行者123 更新时间:2023-11-29 08:41:53 24 4
gpt4 key购买 nike

我有一个 8x8 的单元格网格,可以是真 (1) 或假 (0)。我正在尝试在 Java 中编写一个方法,该方法计算列“col”和行“row”中与指定单元格相邻的真实单元格的数量。 “world”是一个变量,描述了每个细胞的初始状态(每一位代表一个细胞)。 getCell 是一种返回由其参数指定的单元格的 boolean 值的方法。我已经测试了 getCell 方法并且它已经通过了我的所有测试,所以我相信它会按预期工作。我的代码如下所示:

public static int countNeighbours(long world, int col, int row){
int numNeighbours = 0;`

if(getCell(world,col-1,row-1))
numNeighbours++;
if(getCell(world,col,row-1))
numNeighbours++;
if(getCell(world,col+1,row+1))
numNeighbours++;
if(getCell(world,col-1,row))
numNeighbours++;
if(getCell(world,col+1,row))
numNeighbours++;
if(getCell(world,col-1,row+1))
numNeighbours++;
if(getCell(world,col,row+1))
numNeighbours++;
if(getCell(world,col+1,row+1))

return numNeighbours;
}

基本上,它应该像这样工作:

  1. 初始真邻居数为0

  2. 然后它会测试所有周围的单元格,如果其中任何单元格为真,它会将 numNeighbours 递增 1

  3. 最后它返回最终的 numNeighbours

但是,当我尝试遵守它时,我收到一条错误消息,提示“错误缺少返回语句”。为什么会这样?据我所见,最后有一个非常明确的返回声明。有人可以给我一些建议吗?

非常感谢:)

最佳答案

您忘记在最后一个条件中增加 numNeighbours。因此,您的 return 语句仅在最后一个条件为真时才执行:

if(getCell(world,col+1,row+1))

return numNeighbours;

将其更改为:

if(getCell(world,col+1,row+1))
numNeighbours++; // added

return numNeighbours;

关于java - 缺少返回语句java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39557634/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com