数组反转,奇数角标元素交换

(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;
         }
    }
}

 

posted @ 2016-07-06 21:53  安卓小杨  阅读(329)  评论(0)    收藏  举报