/**
* 分析以下需求,并用代码实现:
(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;
}
} 作者: yyl010 时间: 2016-10-17 08:55
int[] arr = {6,2,9,15,1,5,20,7,18};
//最小元素与第一位元素进行交换
int min =0;
for (int i = 0; i < arr.length; i++) {
if (arr[min]>arr[i]) {
int temp = arr[min];
arr[min ] = arr[i];
arr[i]=temp;
}
}
//测试打印数组
for (int i = 0; i < arr.length; i++) {
if (i == arr.length-1)
System.out.println(arr[i]);
else
System.out.print(arr[i]+" ");
}
//最大元素与最后一位元素进行交换
int max =arr.length-1;
for (int i = 0; i < arr.length; i++) {
if (arr[max]<arr[i]) {
int temp = arr[max];
arr[max ] = arr[i];
arr[i]=temp;
}
}
//测试打印数组
for (int j = 0; j < arr.length; j++) {
if (j == arr.length-1)
System.out.println(arr[j]);
else
System.out.print(arr[j]+" ");
public class Test{
public static void main(String[] args){
int[] arr = {6,2,9,15,1,5,20,7,18};
int max = arr[0];
int min = arr[0];
int maxIndex= 0;
int minIndex = 0;
int temp = 0;
for(int i=0; i<arr.length; i++){//通过遍历获取最大值和最小值以及其索引
if(min>arr[i]){
min = arr[i];
minIndex = i;
}else if(max < arr[i]){
max = arr[i];
maxIndex = i;
}
}