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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

分析以下需求,并用代码实现:(有兴趣的同学可以试试!  扩展)
        (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]

import java.util.Scanner;
class ErWei6 {
        public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请录入第一个数");
        int a = sc.nextInt();
        System.out.println("请录入第二个数");
        int b = sc.nextInt();
        System.out.println("请录入第三个数");
        int c = sc.nextInt();
        System.out.println("请录入第四个数");
        int d = sc.nextInt();
        System.out.println("请录入第五个数");
        int e = sc.nextInt();
        System.out.println("请录入第六个数");
        int f = sc.nextInt();
        int[] arr ={a,b,c,d,e,f,};
        fan(arr);
        jiao(arr);
        jia(arr);
        print(arr);
}
        public static void fan(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;
                }
        }

        public static void jiao(int[] arr){
                for (int x =0;x <=arr.length/2 ;x++ )
                {
                        if (x%2!=0)
                        {
                                int temp = arr[x];
                                arr[x]=arr[x+2];
                                arr[x+2]=temp;       
                        }
                }
        }
        public static void jia(int[] arr){
       
        if (arr.length%2==0)
        {
                int mep =arr[arr.length-1];
                arr[arr.length-1]=arr[1];
                arr[1]=mep;

        }else{
                int mvp =arr[arr.length-2];
                arr[arr.length-2]=arr[1];
                arr[1]=mvp;
        }
}
        public static void print(int[] arr){
        for (int i =0;i < arr.length ;i++ )
        {
                System.out.print(arr[i]+"  ");
        }
        }
}

3 个回复

倒序浏览
谁还有简单的,发给我呗,谢了
回复 使用道具 举报
import java.util.Scanner;
class Test {
        public static void main(String[] args){
                int[] arr = new int[6];
                Scanner sc = new Scanner(System.in);
                for(int i = 0;i < arr.length;i++){
                        System.out.println("请输入第"+(i+1)+"个数");
                        arr[i] = sc.nextInt();
                }
                reverse(arr);
                change(arr);
                rechange(arr);
                System.out.println();
                print(arr);

        }
        public static void rechange(int[] arr){
                if((arr.length-1) % 2 == 1){
                        int temp = arr[1];
                        arr[1] = arr[arr.length-1];
                        arr[arr.length-1] = temp;
                }else{
                        int temp = arr[1];
                        arr[1] = arr[arr.length-2];
                        arr[arr.length-2] = temp;
                }
        }
        public static void print(int[] a){
                for(int i = 0;i < a.length;i++){
                        System.out.println(a[i]);
                }
        }
        public static void change(int[] a){
                for(int i = 1;(i+2) <= a.length-1;i+=2){
                        int temp = a[i];
                        a[i] = a[i+2];
                        a[i+2] = temp;
                }
        }
        public static void reverse(int[] a){
                for(int i = 0;i < a.length/2;i++){
                        int temp = a[i];
                        a[i] = a[a.length-1-i];
                        a[a.length-1-i] = temp;
                }
        }
}
回复 使用道具 举报
public static void main(String[] args) {
        int[] a = new int[6];
        for(int i =0; i < a.length; i++) {                        //为数组赋值
                Scanner sc = new Scanner(System.in);
                System.out.println("输入一个整数:");
                a[i] = sc.nextInt();
        }
       
        System.out.println("操作前:");                                //遍历数组
        for(int i = 0; i < a.length; i++ ) {
                System.out.print(a[i] + "  ");
        }
        System.out.println();
       
        for(int i = 0; i < a.length / 2; i++) {                //将数组反转
                int t = a[i];
                a[i] = a[a.length - i -1];
                a[a.length - i - 1] = t;
        }
       
        int j = 1;
        while(j < a.length - 2) {
                int t = a[j];
                a[j] = a[j + 2];
                a[j + 2] = t;
                j += 2;
        }
        int t = a[1];
        a[1] = a[j];
        a[j] = t;
       
        System.out.println("操作后:");                        //遍历数组
        for(int i = 0; i < a.length; i++ ) {
                System.out.print(a[i] + "  ");
        }
}


这个有没有简单点呢,自己看看
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马