2.分析以下需求,并用代码实现:
(1)定义一个int类型的一维数组,内容为{6,2,9,15,1,5,20,7,18}
(2)将数组最大元素与最后一位元素进行交换,最小元素与第一位元素进行交换,并打印数组
提示思路:先查找最大值和最小值出现的索引。
class day52 {
public static void main(String[] args) {
int arr[]={6,2,9,15,1,5,20,7,18};
xiaoh(arr);
dah(arr);
for (int i=0;i<arr.length ; i++) {
System.out.print(arr[i]+" ");
}
}
//只是求数组中的最小元素及其索引 然后将最小元素与第一个元素交换位置
//故没有返回值,返回值类型为void;参数列表为 int []arr
public static void xiaoh(int []arr){
int min=arr[0];
int a=0;
for (int i=1;i<arr.length ;i++ ) {
min=(min<arr[i])?min:arr[i]; //求最小元素的值
}
//System.out.println(min);
for (int i=0;i<arr.length ;i++ ){ //求最小元素的索引
while (min==arr[i]) {
a=i;
break;
}
}
//System.out.println(a);
int temp=arr[a]; //将值最小的元素与打一个元素互换位置
arr[a]=arr[0];
arr[0]=temp;
/*for (int i=0;i<arr.length ;i++ ){
//System.out.print(arr[i]+" "); //打印输出,检验是否正确
}*/
}
//只是求数组中的最大元素及其索引 然后将最大元素与最后一个元素交换位置
//故没有返回值,返回值类型为void;参数列表为 int []arr
public static void dah(int []arr){
int max=arr[0];
int a=0;
for (int i=1;i<arr.length ;i++ ) {
max=(max>arr[i])?max:arr[i]; //求最大的元素
}
//System.out.println(max);
for (int i=0;i<arr.length ;i++ ){ //求最大元素的索引
while (max==arr[i]) {
a=i;
break;
}
}
//System.out.println(a);
int temp=arr[a]; //将最大元素与最后一个元素的位置互换
arr[a]=arr[arr.length-1];
arr[arr.length-1]=temp;
/*for (int i=0;i<arr.length ;i++ ){
//\System.out.print(arr[i]+" "); //打印输出,检验是否正确
}*/
}
} |
|