首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java -循环2d数组以查找不工作的值的索引

Java -循环2d数组以查找不工作的值的索引
EN

Stack Overflow用户
提问于 2015-09-29 15:39:56
回答 2查看 163关注 0票数 4

我知道我在这段代码中的某个地方出错了,但我搞不懂。player1.getId();返回值1,这样您就知道了。我试图打印值为1的数组的索引。在代码的末尾,我预计currentX为0,currentY为0,但两者都是9。任何帮助都是超级的。

代码语言:javascript
运行
复制
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);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-29 15:43:19

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

if 考虑了java语句的工作原理。

如果if语句的表达式是true,则java的true语句执行它的块代码。分号以java语句结尾。如果在If语句后面放空分号,它就算作空语句。因此,if语句在执行末尾带有分号的if语句时什么也不做。Java编译器类似地编译代码,如下所示。

代码语言:javascript
运行
复制
if (grid[i][j] == player1.getId()){
    //nothing here
}

{
    currentX = i;
    currentY = j;
}

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

  • while 循环 同时(表达式);{//某些东西在这里}

初始化true循环时,条件可以是falsewhile。如果条件是true,则会形成一个无限循环。行后什么也不会执行。如果表达式是false,则只执行while循环的预期内容一次。

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

它无法编译和获取异常{ expected

票数 6
EN

Stack Overflow用户

发布于 2015-09-29 15:54:50

这里的条件是true (如果是player1.getId() == 1):

if(grid[i][j] == player1.getId());

但是代码包含一个逻辑错误:这里的一组操作符-空操作符;,它将被执行.

currentXcurrentY总是等于数组的长度。

代码语言:javascript
运行
复制
currentX = grid.length;
currentY = grid[0].length;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32848262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档