Java - 在给定值的情况下查找数组的元素?

标签 java arrays element

在我的 Java 程序中,我正在模拟一个 parking 场。假设有随机数的汽车,假设有 7 辆汽车。1 号汽车用值 1 表示,汽车 2 由值 2 表示,依此类推。每个汽车值都随机存储在一个代表 parking 场的数组中。数组的每个元素代表一个 parking 位。我正在尝试编写一个执行以下操作的方法:假设您想知道 4 号车所在的 parking 位。值“4”被传递给该方法,该方法将在数组中搜索该值。我想要该方法告诉我在数组的哪个元素中找到了值“4”。这是我到目前为止对该方法的了解:

public int findBayOfCar(int carNumber)
{
    int index = -1;
    boolean found = false;

    while (!found)
    {
        if (cars[index] == carNumber)
        {

        }
        index++;
    }

}

显然它不会工作,因为 Java 无法将 cars[index](Car 类型的数组)与 carNumber(一个 int)进行比较。我该怎么做才能纠正这个问题?

最佳答案

你在这么小的代码中有很多错误。

  1. while (!found)这意味着您将继续搜索直到找到某些东西,但是如果我们正在搜索的元素不在数组中会怎样?由于我们将尝试访问不存在的数组单元格,因此我们将遇到臭名昭著的 ArrayOutOfBoundsException。解决方案:for (int i = 0; i < cars.length; i++)为了从头开始运行,直到数组的大小。
  2. 找到了,现在怎么办?您在找到要找的车时没有停下来,现在我们将其设置为 found = true并停止搜索。

代码:

public int findBayOfCar(int carNumber)
{
    int foundAtBay = -1;
    for (int i = 0; i < cars.length; i++)
    {
        if (cars[i].number == carNumber) // or whatever .Number or .number which identify the car number.
        {
            foundAtBay = i;
            break;
        }
    }
    return foundAtBay;
}

关于Java - 在给定值的情况下查找数组的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34191131/

相关文章:

java - 在没有最终修饰符的情况下更改按钮颜色onclick

java - Android - 将数据保存到我自己的数据服务器

c - 通过 malloc 函数选择排序

arrays - 使用 shell 变量选择一个 bash 数组

java - HOUR_OF_DAY 为值 0 和 1 设置相同的小时

java - 在 Java 中使用传递子类数组作为它们的父类

JAVA读取XML,直接从element

javascript - 使用 Javascript 隐藏元素的下一个兄弟

java - 如何从数组/ArrayList中获取特定元素?

java - 将二进制存储到 BLOB 中