java - 检查二维数组是否包含此字段或者它是否未定义

标签 java arrays matrix

目前正在为我在大学的最后一项任务开发一个小游戏。 我当前的问题是游戏板是一个二维单元格数组(自制类)。该板是使用我读入的 txt.file 创建的。现在用户可以输入多个命令。其中一个命令是创建一个新的游戏对象并使用特定的 x 和 y 参数将其放置在板上。 除了这个之外,还有什么方法可以检查该字段是否足够大以容纳他们输入的参数:

try {
        gameField.getField()[Integer
        parseInt(splittedCom[1])][Integer
        parseInt(splittedCom[2])].getStatus();
    } catch (ArrayIndexOutOfBoundsException e) { 
        Terminal.printLine("Error, this cell isn't in the gameField");
    }

我目前正在使用它来检查另一个命令。有没有办法在没有异常的情况下使用它?

最佳答案

由于您的数组已经构造完毕,您应该已经知道了数组的尺寸,因此您可以使用 gameBoard.length 作为宽度,使用 gameBoard[0].length 作为高度,并使用它们与用户提供的任何内容进行比较。

编辑:根据您的问题:

如果您可以访问 gameBoard 对象,则无需保存它们,因为该信息可以通过 gameBoard 对象本身获得。或者,您必须以某种方式坚持它们。请注意,虽然您浪费一些额外的内存来存储值,但抛出异常也有其成本,应该避免(在本例中)。您期望用户提供不正确值的情况不属于异常情况的标准,因为这是您所期望的。

关于java - 检查二维数组是否包含此字段或者它是否未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29036608/

相关文章:

java - 在 viewpager 中翻转图像

javascript - 使用 JavaScript 数组的循环数

r - 将矩阵的行乘以向量?

java - 技术上是否可以创建 Java 虚拟机的镜像文件并将其用于更快的 Java 应用程序启动?

java - 为什么我的 JPanel 中的某些项目没有显示?

java - Maven 无法获取最新的 Selenium Java jar

ios - 将数据传递到另一个 View 时添加到数组的问题

将二维数组转换为双指针失败

f# - 在 F# 中并行化两个矩阵的元素乘法

opencv - 在 OpenCV 中有效判断一幅图像是否完全由另一幅图像的像素值组成