A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ZP515630 初级黑马   /  2017-3-6 23:44  /  656 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.util.Scanner;

/**
*        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]
*
*/
public class Test01 {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入数组:");
                // int num = sc.nextInt();
                int[] arr = new int[6];
                for (int i = 0; i < arr.length; i++) {
                        arr[i] = sc.nextInt();
                }
                int[] getarr = arr2(arr); // 第一题
                System.out.println("-----------------------");
                arr3(arr);// 第三题
                System.out.println("-----------------------");               
                arrbreak(arr);//第四题

        }

        // 第二题内容反转
        public static int[] arr2(int[] arr) {
                int num1, num2;
                for (int i = 0, a = arr.length - 1; a > i; i++, a--) {
                        num1 = arr[a];
                        arr[a] = arr[i];
                        arr[i] = num1;
                }
                // 打印
                for (int i = 0; i < arr.length; i++) {
                        System.out.println("第二题打印" + arr[i]);
                }
                return arr;
        }

        // 第三题奇数互换
        public static int[] arr3(int[] arr) {
                int num = arr[1];
                for (int i = 0; i < arr.length; i++) {
                        if (i % 2 != 0) {
                                num = arr[i];
                                if (i > 1) {
                                        arr[i] = arr[i - 2];
                                        arr[i - 2] = num;
                                }
                        }
                        // if (i%2 != 0 )
                        // num = getarr[i];
                }
                // 打印
                for (int i = 0; i < arr.length; i++) {
                        System.out.println("第三题打印" + arr[i]);
                }
                return arr;
        }
    //第四题首尾奇数互换
        public static int[] arrbreak(int[] arr) {
                int num = 0, num1 = 0, n = 0, s = 0,a =0,b=0;
                for (int i = 0; i < arr.length; i++) {
                        if (arr[i] % 2 != 0 ) {
                                a ++;
                                if (a>2) {
                                num = arr[i];
                                n = i;
                                }
                        }
                        if ((arr.length - 1 - i) % 2 != 0 ) {
                                b ++ ;
                                if (b>2) {
                                num1 = arr[arr.length - 1 - i];
                                // arr[arr.length-1-i] = num;
                                s = arr.length - 1 - i;
                                }
                        }
                }
                arr[n] = num1;
                arr[s] = num;
                //打印
                for (int i = 0; i < arr.length; i++) {
                        System.out.println("第四题打印" + arr[i] + " " + i);
                }
                return arr;
        }
       
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马