数组元素逆序输出(方法封装)

📅 发布时间:2026/7/5 17:38:13 👁️ 浏览次数:
数组元素逆序输出(方法封装)
题目要求步骤 2定义反转数组的核心方法reverseArray(int[] ints)方法的核心逻辑是「先处理特殊情况再处理常规反转」具体分 3 个子步骤子步骤 2.1处理「数组为 null」的特殊情况子步骤 2.2处理「数组长度≤1」的特殊情况三、代码执行流程补充帮你理解运行顺序以数组 a{1,2,3,4,5}为例执行过程子步骤 2.3处理「数组长度 1」的常规反转定义方法reverseArray(int[] arr)接收整型数组。在方法内完成不创建新数组通过循环交换数组首尾元素实现逆序分支判断数组为空 / 长度为 1 的情况直接输出原数组输出逆序后的数组。main 方法中测试两个数组{1,2,3,4,5}和{88}分别调用方法。分析以及思路:一、整体功能目标编写一个可以实现整数数组反转的程序同时处理「数组为 null」「数组长度≤1」这两种特殊情况最终输出不同场景下的结果。二、具体实现思路分步骤步骤 1定义主方法程序入口目标准备测试用例调用反转数组的方法验证不同场景下的逻辑是否生效。具体操作定义 3 个测试数组数组 a长度为 5 的正常数组{1,2,3,4,5}用于测试常规反转数组 b长度为 1 的数组{88}用于测试无需反转的场景数组 c值为 null 的数组用于测试空数组场景。依次调用reverseArray()方法传入这 3 个数组触发反转逻辑。目标避免空指针异常同时明确提示数组为 null。具体操作通过if (ints null)判断数组是否为 null若为 null直接输出null并通过return终止方法无需执行后续逻辑。目标长度为 0空数组或 1 的数组无需反转直接输出原数组。具体操作通过if (ints.length 1)判断数组长度若满足条件输出提示语数组无需逆序输出原数组 数组内容用Arrays.toString()格式化数组通过return终止方法避免执行后续反转逻辑。目标通过「双指针交换法」实现数组元素反转并输出反转过程 / 结果。具体操作定义两个指针变量左指针i从数组起始位置索引 0开始右指针j从数组末尾位置索引ints.length-1开始。循环交换循环条件i j当左指针超过 / 等于右指针时说明已交换完所有需要反转的元素交换逻辑用临时变量temp存储左指针位置的元素然后将右指针元素赋值给左指针位置最后将临时变量赋值给右指针位置每次交换后输出当前反转后的数组System.out.println(逆序后:Arrays.toString(ints))指针移动左指针i向右移右指针j--向左移进入下一次交换。i0j4 → 交换 1 和 5 → 数组变为{5,2,3,4,1}→ 输出该结果i1j3 → 交换 2 和 4 → 数组变为{5,4,3,2,1}→ 输出该结果i2j2 → 不满足ij→ 循环结束。总结核心逻辑先判空→再判长度→最后双指针交换优先处理特殊情况避免异常再实现核心功能关键技巧用「双指针法」反转数组仅需遍历数组一半长度效率高用Arrays.toString()格式化数组输出边界处理覆盖了「数组 null」「长度≤1」「长度 1」三种核心场景逻辑完整package com.homework; import java.util.Arrays; public class Work05 { public static void main(String[] args) { int[] a {1, 2, 3, 4, 5}; int[] b {88}; int[] c null; reverseArray(a); reverseArray(b); reverseArray(c); } public static void reverseArray(int[] ints) {//求最大值 //判断数组是否为null if (intsnull){ System.out.println(null); return; } //判断数组长度是否1无需逆序 if (ints.length 1) { System.out.println(数组无需逆序输出原数组 Arrays.toString(ints)); return; } //数组反转 for (int i 0,j ints.length-1; i j; i,j--) { int tempints[i]; ints[i]ints[j]; ints[j]temp; System.out.println(逆序后:Arrays.toString(ints)); } } }结果: