数组最大元素和最后一位元素交换,最小元素和第一位元素交换
/*
(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] + " "); } } }

浙公网安备 33010602011771号