【问题标题】:cannot find symbol method get(int)找不到符号方法 get(int)
【发布时间】:2015-05-17 03:56:19
【问题描述】:

对于我正在制作的游戏,我需要在 10x10 游戏板上放置一个类似俄罗斯方块的棋子。

如果玩家试图将棋子放在我棋盘上的已占用方格上,我想返回“已占用”。

为此,我创建了一个初始方法,如果正方形被占用,则返回 true。

//Return true if the cell is occupied
    public boolean isOccupied(int x, int y){
        if (board.get(x).get(y) != null){
// The problem seems to be in the line directly above
            return true;
        }
        return false;
    }

但是当我尝试编译时,它给了我一个编译错误说 - 找不到符号 - 方法 get(int)

我不知道为什么会收到此错误或如何修复它。 任何帮助将不胜感激。

【问题讨论】:

  • board.get(x) 返回什么?
  • board.get(x).get(y) 返回我试图确定的棋盘中正方形的坐标是被占用还是未被占用。我的板子基本上是一个 10x10 二维数组
  • xy 不是你的坐标吗?
  • 好吧,如果您想获取板上特定位置的内容,您必须将这两个值传递给单个方法,然后该方法返回有关该位置的信息。能否请您也发布Board 课程的代码?

标签: java compiler-errors


【解决方案1】:

你的板子类没有定义 get(int x) 方法。因此,您必须像这样尝试..

if (board[x][y] !=null)  {   // since its a 2d array (x row , y column)

return true;
}

【讨论】:

    【解决方案2】:

    如果没有其他代码,很难看出正在做什么,但它可能应该是这样的......

    //Return true if the cell is occupied
        public boolean isOccupied(int x, int y){
            if (board.get(x,y) != null){
                return true;
            }
            return false;
        }
    

    您想要做的是检查单元格 x,y 是否已填充。你需要同时检查X和Y,否则没有意义。您的 get(x,y) 方法会同时检查 x,y 中的单元格。

    您的代码中的错误是您正在调用get(x),我猜它会返回一个列的对象,然后您尝试在该列上调用get(y)。但是,列对象没有在其上创建 get() 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-23
      • 2016-11-10
      • 2020-07-02
      相关资源
      最近更新 更多