import java.util.Arrays;
public class Test02 {
/**
* 分析以下需求,并用代码实现:
(1)定义一个int类型的一维数组,内容为{6,2,9,15,1,5,20,7,18}
(2)将数组最大元素与最后一位元素进行交换,最小元素与第一位元素进行交换,并打印数组
*/
public static void main(String[] args) {
int arr[] ={6,2,9,15,1,5,20,7,18};
//最大值
int a = arr[getmax(arr)];
//最小值
int b = arr[getmin(arr)];
//打印最大值和最小值
System.out.println(a+" "+b);
//遍历打印原数组
System.out.println(Arrays.toString(arr));
//交换最大值和最小值
swap(arr, getmax(arr), getmin(arr));
//遍历打印交换最大和最小值后的数组
System.out.println(Arrays.toString(arr));
//交换第一个和最后一个的元素
swap(arr, 0, arr.length-1);
//遍历打印交换第一个和最后一个的元素的数组
System.out.println(Arrays.toString(arr));
}
//最大数和最大数的索引
public static int getmax(int[] arr){
int max = arr[0];
int indexMax =0;
for (int i = 1; i < arr.length; i++) {
if(max<arr[i]){
max = arr[i];
indexMax=i;
}
}
return indexMax;
}
//最小数和最小数的索引
public static int getmin(int[] arr){
int min= arr[0];
int indexMin =0;
for (int i = 1; i < arr.length; i++) {
if(min>arr[i]){
min = arr[i];
indexMin =i;
}
}
return indexMin;
}
//数组交换两个元素
public static void swap(int[] arr,int i,int j){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
|