数组最大元素和最后一位元素交换,最小元素和第一位元素交换

/* 

(1)定义一个int类型的一维数组,内容为{6,2,9,15,1,5,20,7,18}
(2)将数组最大元素与最后一位元素进行交换,最小元素与第一位元素进行交换,并打印数组
提示思路:先查找最大值和最小值出现的索引。

需求分析:
1.定义一个数组,并将题目中的数值传进去
2.写出两个方法,分别获取数组的最大值和最小值的索引
*/

class ChangeValue {
    public  static void main(String[] args){
        int[] arr = {26,2,9,15,1,5,20,7,0};            //创建一个数组并赋初值
        getMax(arr);                                //调用获取最大值的方法                
        getMin(arr);                                //调用获取最小值的方法
        print(arr);                                    //调用打印出数组值的方法
    }
    public static void getMax(int[] arr){    //新建getMax方法,用来获取数组中的最大值和该值的索引号,并完成最大值和最后一个值的对调
        int max = arr[0];                    //新建局部变量max,将初值赋为数组的第一个元素
        int index = 0;                        //新建局部变量index,初值赋为0,作用是存储索引值
        for (int i = 0;i < arr.length ;i++ ) {        //for循环获取最大值max
            max = max > arr[i]? max :arr[i];
        }
        for (int j = 0;j < arr.length ;j++ ) {        //for循环,将数组的每个值和max作比较,找到该值的索引号
            if (arr[j] == max) {
                index = j;
            }
        }
        System.out.println("这个数组的最大值为" + max +  "\t" + " 它的索引号为" + index );    //输出最大值和该值的索引号
        int temp = arr[index];                        //定义第三方变量并赋值为最大值
        arr[index] = arr[arr.length - 1];            //将最后一个元素的值赋给属于最大值索引号的元素
        arr[arr.length - 1] = temp;                    //完成交换
    }
    public static void getMin(int[] arr){            //该方法注释参考getMax()方法的注释
        int min = arr[0];
        int index = 0;
        for (int i = 0;i < arr.length ;i++ ) {
            min = min < arr[i]? min :arr[i];
        }
        for (int j = 0;j < arr.length ;j++ ) {
            if (arr[j] == min) {
                index = j;
            }
        }
        System.out.println("这个数组的最小值为" + min +  "\t"  + " 它的索引号为" + index );
        int temp = arr[index];
        arr[index] = arr[0];
        arr[0] =temp;
    }
    public static void print(int[] arr){            //打印输出完成调换后的数组中的每个元素
        for (int i = 0;i < arr.length ;i++ ) {
            System.out.print(arr[i] + " ");
        }
    }
}

 

posted @ 2016-07-06 21:51  安卓小杨  阅读(1337)  评论(0)    收藏  举报