当前位置: 首页 > 面试题库 >

Java-循环二维数组以查找值的索引不起作用

端木高邈
2023-03-14
问题内容

我知道我在此代码的某个地方犯了一个错误,但我无法弄清楚。player1.getId();
返回值1只是为了使您知道。我正在尝试打印值为1的数组的索引。在代码的结尾,我希望currentX为0,currentY为0,但它们都是9。任何帮助都是超级的。

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());

考虑一下ifJava语句的工作方式

ifJava的声明如果表达式执行它的代码if声明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它会无限循环。行之后什么也不会执行。如果expression是false,则它将执行一次while循环的预期内容。

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

它无法编译并出现异常 { expected



 类似资料:
  • 问题内容: 我正在一个项目中,我必须读取文件并将内容输入2D数组。然后,我必须对每一行,每一列和矩阵的周长求和。到目前为止,除外围功能外,我一切正常。我正在尝试为两个外部列的顶行,底行和中间创建单独的for循环。 矩阵文件如下所示: 因此,周长总计应为42。现在,我可以成功地将第一行和最后一行添加为等于22。但是,当我将列添加到总数中时,我得到32。 这是代码: 如果有人可以帮助我将第一列和最后一

  • 所以我想看看有没有办法循环这些数组,看看哪一个与main函数中提供的{6,1,1,6,3,1,4,7,7,1}的数组匹配。

  • 题目链接 牛客网 题目描述 给定一个二维数组,其每一行从左到右递增排序,从上到下也是递增排序。给定一个数,判断这个数是否在该二维数组中。 // html Consider the following matrix: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17,

  • 问题内容: 我要寻找一个量化的方式来索引的索引。 例如: 我想建立一个新的数组,以便该数组中的每一行(i)都是array的row(i),并由数组inds(i)的行索引。我想要的输出是: 我可以通过循环来实现: 但我正在寻找一种纯矢量化的解决方案。 问题答案: 使用索引数组对另一个数组进行索引时,每个索引数组的形状应与 输出 数组的形状匹配。您希望列索引匹配,并且您希望行索引匹配输出的行,例如: 由

  • 问题内容: 我试图从循环中的猫鼬中获取记录。但是它没有按预期工作。我有一系列带有问题和答案的哈希,我正在尝试从数据库中查找那些问题。这是我的循环: 而终端的结果是这样的: 问题是我的问题在循环迭代后显示。因此,我无法处理它们。 请帮忙!问候 问题答案: 欢迎来到异步世界:-) 使用JavaScript,除了您的代码外,任何其他事情都会并行发生。这意味着在您的特定情况下,无法在循环结束之前调用回调。

  • 问题内容: 我希望我的程序一直问这个问题,直到得到可以使用的响应为止,尤其是0到20之间的一个数字。此类中还有很多其他内容,因此这里有一段摘录,其中do- while是(我已经命名了变量以及所有内容。 问题答案: 您在表达式中使用了一个赋值: 您可以替换为 或更好 如果变量和在其他地方未使用,则可以消除它们,从而为您提供: