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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.util.*;
class Day05 {
        public static void main(String[] args) {
                        print3();
        }
public static void print3(){
                int[] arr = new int[6];
                Scanner sc = new Scanner(System.in);
                int count = 0;
                while (count<6){
                        System.out.println("请输入第"+(count+1)+"数据");
                        int num = sc.nextInt();
                        arr[count] = num;
                        count++;
                }

                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;
                }
               
                /*for (int start = 0,end = arr.length-1 ;start<=end ;start++,end-- ){
                        int temp = arr[start];
                        arr[start] = arr[end];
                        arr[end] = temp;
                }*/
               
                for (int i = 0 ;i<arr.length ;i++ ){
                        if (i%2==1&&i<arr.length-2){
                                int temp = arr[i];
                                arr[i] = arr[i+2];
                                arr[i+2] = temp;
                        }
                }

                for (int i = 0 ;i<arr.length ;i++ ){
                        if (i==1&&(arr.length-1)%2==1){
                                int temp = arr[i];
                                arr[i] = arr[arr.length-1];
                                arr[arr.length-1] = temp;
                        }
                        System.out.print(arr[i]+" ");
                }
               

        }

}
我的最后一次交换位置是否有问题,如果没问题的话,为什么不判断i==1直接判断(arr.length-1)%2==1输出没有反应呢?

4 个回复

倒序浏览
好认真  ,,我也不知道,,
回复 使用道具 举报
给你分享一下我的代码吧
                /*第四步交换*/
                public static void finalSwap(int[] arr) {
                        if(1 == (arr.length - 1) % 2) {
                                swap(arr, 1, arr.length - 1);
                        }
                        else {
                                swap(arr, 1, arr.length - 2);
                        }
                }

                /*交换数组中两个元素的位置*/
                public static void swap(int[] arr, int index1, int index2) {
                        int temp = arr[index1];
                        arr[index1] = arr[index2];
                        arr[index2] = temp;
                }
回复 使用道具 举报
话说你做的是第五天的作业么,最好以后把题也放上来吧
回复 使用道具 举报
用Eclipse的Debug一步一步调试运行看下,看执行步骤和数组值的变化
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马