数组反转,奇数角标元素交换
(1)键盘录入6个int类型的数据存数数组arr中
(2)将arr数组中的内容反转
(3)将翻转后的数组角标为奇数的互相交换 1和3换, 3和5换,以此类推
(4)最后将数组最后一个角标为奇数的元素 和数组中第一个角标为奇数的元素交换
(5)打印最终的数组(实现了1-4步之后的数组)
(6)如:用户输入的6个int数字为[1,2,3,4,5,6],最后输出的结果为[6, 5, 4, 1, 2, 3]
/* 需求分析:
1.创建键盘录入对象;
2.定义方法实现数组反转;
3.定义方法,实现奇数角标元素互换
4.完成最后角标为奇数的元素和第一个角标为奇数的元素互换
*/
import java.util.Scanner; class Exchange { public static void main(String[] args){ Scanner sc = new Scanner(System.in); //创建鼠标录入对象 //创建数组并一步步赋值 System.out.println("您需要输入包含多少个元素的数组?"); //提示输入语句,获取键盘键入的值 int num = sc.nextInt(); //拿到num,可依此创建元素个数为num的数组 int[] arr = new int[num]; //创建数组 System.out.println("您现在需要依次输入" + num + "个整数"); //提示语句 for (int i = 0;i < num ;i++ ) { //for循环给数组赋值 arr[i] = sc.nextInt(); } System.out.println("交换前的数组为"); //输出语句,调用print方法输出数组 print(arr); change(arr); //调用change()方法 System.out.println("交换后的数组为"); //输出语句,调用print方法输出数组 print(arr); exchange(arr); //调用exchange方法交换角标为奇数的元素 System.out.println("交换角标为奇数的元素后的数组为"); print(arr); //输出语句,调用print方法输出数组 } //定义change方法,用来反转数组的值 public static void change(int[] arr){ //反转数组的值的方法 for (int i = 0 ;i < arr.length/2 ;i++ ) { int temp = arr[i]; arr[i] = arr[arr.length -1 -i]; arr[arr.length -1 -i] = temp; } } //定义print方法,打印输出数组的每个元素 public static void print(int[] arr){ //打印数组元素的方法 for (int i = 0; i < arr.length;i++ ) { System.out.print(" " + arr[i]); } System.out.println(); } //定义exchange方法,实现奇数角标元素的互换 public static void exchange(int[] arr){ //定义exchange方法 for (int i = 0;i < arr.length -2 ;i = i + 2 ) { //将角标为奇数的全部交换 int temp = arr[i]; arr[i] = arr[i + 2]; arr[i + 2] = temp; } } }

浙公网安备 33010602011771号