Java 在数组中找到与目标数相邻的左右两个元素

介绍

在开发过程中,经常会遇到需要在数组中找到与目标数相邻的左右两个元素的情况。本文将介绍如何在Java中实现这个功能,通过以下步骤进行讲解。

流程

我们可以通过以下步骤来实现在数组中找到与目标数相邻的左右两个元素:

  1. 遍历数组,从第一个元素开始。
  2. 判断当前元素是否与目标数相邻。
  3. 如果相邻,记录当前元素的索引,并跳出循环。
  4. 如果不相邻,继续遍历下一个元素。
  5. 如果遍历完整个数组仍然没有找到相邻元素,则输出无结果的提示。

下面是整个流程的流程图:

flowchart TD
    A[开始] --> B[遍历数组]
    B --> C[判断是否相邻]
    C --> D[相邻,记录索引]
    D --> E[跳出循环]
    C --> F[不相邻,继续遍历下一个元素]
    F --> B
    B --> G[遍历完数组,无结果]
    G --> H[结束]

代码实现

首先,我们需要定义一个方法来实现在数组中找到与目标数相邻的左右两个元素。代码如下:

/**
 * 在数组中找到与目标数相邻的左右两个元素
 * @param arr 数组
 * @param target 目标数
 */
public void findAdjacentElements(int[] arr, int target) {
    int index = -1; // 用于记录相邻元素的索引

    // 遍历数组
    for (int i = 0; i < arr.length; i++) {
        // 判断当前元素是否与目标数相邻
        if (arr[i] == target - 1 || arr[i] == target + 1) {
            index = i; // 记录相邻元素的索引
            break; // 跳出循环
        }
    }

    // 输出结果
    if (index != -1) {
        System.out.println("找到与目标数相邻的左右两个元素,索引为:" + index);
    } else {
        System.out.println("未找到与目标数相邻的左右两个元素");
    }
}

示例

我们可以通过以下示例来演示如何使用上述方法,在数组中找到与目标数相邻的左右两个元素。

public class Main {
    public static void main(String[] args) {
        int[] arr = {1, 3, 5, 7, 9}; // 示例数组
        int target = 5; // 目标数

        // 创建实例
        Main main = new Main();

        // 调用方法
        main.findAdjacentElements(arr, target);
    }
}

运行以上代码,输出结果为:

找到与目标数相邻的左右两个元素,索引为:2

类图

以下是本文所涉及到的类的类图:

classDiagram
    Main --> "int[]" : arr
    Main --> "int" : target
    Main --> findAdjacentElements()

结论

通过上述步骤,我们成功实现了在Java中找到数组中与目标数相邻的左右两个元素的功能。希望本文对于刚入行的小白有所帮助,如果有任何疑问,请随时提问。