}
//定义方法获取数组元素最小值的角标。
public static int getMin(int[] arr){
int min = 0;
for(int i=1;i<arr.length;i++){
if(arr<arr[min])
min = i;
}
return min;
}
//定义方法获取数组元素最大值的角标。
public static int getMax(int[] arr){
int max = 0;
for(int i=1;i<arr.length;i++){
if(arr>arr[max])
max = i;
}
return max;
}
//定义方法使最大的与第一个元素交换,最小的与最后一个元素交换。
public static void exchangeArray(int[] arr){
int max =getMax(arr);
int temp1=arr[0];
arr[0] = arr[max];
arr[max]=temp1;
int min =getMin(arr);
int temp2=arr[arr.length-1];
arr[arr.length-1] = arr[min];
arr[min]=temp2;
}
//打印数组的方法。
public static void printArray(int[] arr){
String str = "[";
for(int i=0;i<arr.length;i++){
if(i==arr.length-1){
str+=arr+"]";
}
else str+=arr+",";
}
System.out.println(str);
} 作者: fengxiaocan 时间: 2016-3-30 23:31
class Demo_Array {
public static void main(String[] args) {
int[] arr = {12,32,44,5,31,17,38}; //定义数组
print(arr);
swap(arr);
print(arr);
}
//得到数组最大值的方法
public static int getMax(int[] arr){
int max = arr[0]; //设定最大值是数组第一个元素
for (int i = 1;i < arr.length ;i++ ) { //循环遍历
if (max < arr[i]) { //假如数组中有比max大的值
max = arr[i]; //把这个值赋值给max
}
}
return max; //返回最大值
}
//得到数组最小值的方法
public static int getMin(int[] arr){
int min = arr[0]; //设定最小值是数组第一个元素
for (int i = 1;i < arr.length ;i++ ) { //循环遍历
if (min > arr[i]) { //假如数组中有比min小的值
min = arr[i]; //把这个值赋值给min
}
}
return min; //返回最小值
}
//交换值的方法,直接把最大值交换给第一个元素,把最小值交换给最后一个元素
public static void swap(int[] arr){
int max = getMax(arr); //方法中调用别的方法获取数组最大值
int min = getMin(arr); //获取最小值
for (int i = 0;i < arr.length ;i++ ) {
if (max == arr[i]) { //找到最大值对应的数组元素,与第一个元素交换
int temp = arr[i];
arr[i] = arr[0];
arr[0] = temp;
}
if (min == arr[i]) { //找到最小值对应的数组元素,与最后一个元素交换
int temp = arr[i];
arr[i] = arr[arr.length - 1];
arr[arr.length - 1] = temp;
}
}
}
//遍历数组的方法
public static void print(int[] arr){
for (int i = 0; i < arr.length ;i++ ) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
}