数组元素反转代码实现

import java.util.Scanner;

/*
 *  需求:
 *    (1)键盘录入5个int类型的数据存储数组arr中
 *    (2)定义方法将arr数组中的内容反转
 *    (3)定义方法对反转后的数组进行遍历
 * 分析:
 *    A:定义一个长度为5的数组
 *    B:通过键盘录入数据给数组中的元素赋值
 *    C:定义方法将arr数组中的内容反转
 *             什么是反转? 如何实现反转
 *    D:定义方法对反转后的数组进行遍历     
 *            
 *     
 *     */
public class Test7 {
    public static void main(String[] args) {
        //定义1个5个数据的数组
        int[] arr=new int[5];
        //键盘录入数据
        Scanner sc=new Scanner(System.in);
    
        for(int x=0;x<arr.length;x++)
        {
            System.out.println("请输入"+(x+1)+"个元素值:");
            int num=sc.nextInt();
            arr[x]=num;
            
        }
        //反转前
        printArray(arr);
        reverse(arr);
        //写方法进行数组遍历
        printArray(arr);
    }
    //遍历数组
    public static void printArray(int[] arr)
    {
        System.out.print("[");
        for(int x=0;x<arr.length;x++)
        {
            //如果数组的索引是最后一个
            if(x==arr.length-1)
            {
                System.out.println(arr[x]+"]");
            }else {
                System.out.print(arr[x]+",");
            }
            
        }
    }

    //写方法 将数组中的内容反转 明确参数列表int[] arr 明确返回值 无返回值void
    public static void reverse(int[] arr)
    {
        //拿数组0索引位置的元素和最大索引位置的元素交换
        //拿数组1索引位置的元素和次大索引位置的元素交换
        //int start=0;
        //int end=arr.length-1;
        //start<=end;
        //如何实现2个数据的交换呢
        // int a=10;
        // int b=20;
        // 采用第三方变量的方式 实现2个数据的交换
        // int temp=a;
        //  b=a;
        //b=temp;
        for(int start=0,end=arr.length-1;start<=end;start++,end--)
        {
            //采用第三方变量的方式 把数组中的内容反转
            int temp=arr[start];
            arr[start]=arr[end];
            arr[end]=temp;
            
        }
        
    }
}

 

posted on 2018-12-14 16:49  有钱淫  阅读(1294)  评论(0编辑  收藏  举报