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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小菜白白白 中级黑马   /  2016-9-10 19:26  /  563 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

代码题:
(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 Test1_arr {
        public static void main(String[] args) {
                Scanner sc=new Scanner(System.in);
                int[] arr = new int [6];
                System.out.println("请输入6个数");
                for(int i=0;i<6;i++) {
                        arr=sc.nextInt();                       
                }
                showArr(arr);                //打印原数组
                System.out.println();
                reverseArr(arr);        //反转数组
                showArr(arr);                //打印数组
               
        }
        private static void reverseArr(int[] arr) {
                for (int i = 0; i < arr.length/2; i++) {
                        int temp=arr;
                        arr=arr[arr.length-i-1];
                        arr[arr.length-i-1]=temp;
                }
        }
        private static void showArr(int[] arr) {
                for (int i = 0; i < arr.length; i++) {
                        System.out.print(arr+"  ");
                }
        }       
}
第三个小步骤   (3)将翻转后的数组角标为奇数的互相交换 1和3换, 3和5换,以此类推   不会做了 ,是要用嵌套循环吗


1 个回复

正序浏览
public static void changeArr(int[] arr){
            for (int i = 1; i < arr.length - 2; i+=2){
                int temp = arr[i];
                arr[i] = arr[i+2];
                arr[i+2] = temp;
            }
        }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马