⑴ 观察长度为n的nums数组可以推出以下过程:
① 首先,交换nums[0]和nums[n-1];
② 其次,交换nums[1]和nums[n-2];
③ 然后,交换nums[2]和nums[n-3];
以此类推,每次交换nums[i]和nums[n-i-1],交换n / 2次即可完成逆序重放;
⑵ 显然,方法reverse需要注入一个参数:int[] nums,存储原始数组和逆序重放后的数组,方法reverse的返
回值为void,因为nums作为数组参数,它的内容直接受到reverse方法的影响。
三、程序代码
importjava.util.Scanner;publicclassMain{/**
* 将数组中的元素逆序重放
*
* @param nums 整型数组,存储原始数组和逆序重放后的数组
*/publicvoidreverse(int[] nums){int n = nums.length;// 数组长度int t;// 用于交换的临时变量/* 交换nums前后对应的元素,交换n/2次即可 */for(int i =0; i < n /2; i++){
t = nums[i];
nums[i]= nums[n - i -1];
nums[n - i -1]= t;}}publicstaticvoidmain(String[] args){Main test =newMain();Scanner input =newScanner(System.in);int n = input.nextInt();int[] nums =newint[n];int i;for(i =0; i < n; i++){
nums[i]= input.nextInt();}
test.reverse(nums);// 调用reverse方法,修改nums数组的内容for(i =0; i < n; i++){System.out.print(nums[i]+" ");}}}