gpt4 book ai didi

Java - 循环二维数组以查找无效值的索引

转载 作者:搜寻专家 更新时间:2023-10-31 19:37:46 24 4
gpt4 key购买 nike

我知道我在这段代码的某个地方犯了一个错误,但我想不通。 player1.getId();返回值 1 只是让您知道。我正在尝试打印值为 1 的数组的索引。在代码末尾,我希望 currentX 为 0,currentY 为 0,但它们都是 9。任何帮助都是 super 的。

int[][] grid = {
{3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
{3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
{3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
{3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
{3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
{3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
{3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
{3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
{3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
{3, 3, 3, 3, 3, 3, 3, 3, 3, 3}
};

int currentX = 0;
int currentY = 0;

grid[0][0] = player1.getId();

grid[0][9] = 2;

for (int i = 0; i < grid.length; i++) {
for (int j = 0; j < grid[0].length; j++) {
if (grid[i][j] == player1.getId());
{
currentX = i;
currentY = j;
}
System.out.print(grid[i][j]);
}

}
System.out.println();
System.out.println("Player1 is currently in row " + currentX + " and column " + currentY);

最佳答案

去掉;末尾的分号(if (grid[i][j] == player1.getId());)

考虑工作原理 if java的声明

if如果 if 的表达式,则 java 语句执行它的 block 代码声明是true .分号结束 java 的一条语句。如果你在 if 语句后加上空的分号,它就被认为是一个空语句。所以,if语句执行时什么都不做 if末尾有分号的语句。 Java 编译器按如下方式编译您的代码。

if (grid[i][j] == player1.getId()){
//nothing here
}

{
currentX = i;
currentY = j;
}

看看当其他种类的语句末尾有分号时会发生什么。

  • while循环

        while (expression);
    {
    //something goes here
    }

条件可以是truefalse初始化时while环形。如果条件是true它使一个无限循环。该行之后不会执行任何操作。如果表达式是 false , 它执行一次 while 的预期内容环形。

  • switch (integer);catch (Exception e);

编译失败并出现异常{ expected

关于Java - 循环二维数组以查找无效值的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32848262/

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