Java基础–数组练习
1、将一维数组的遍历,封装成方法
public static void arrayBianli(int[] arr) {
for(int i = 0;i<arr.length;i++) {
System.out.print(arr[i]+" ");
}
}
2、将一维数组的求最大值,封装成方法
public static void getMax(int[] arr) {
int max = arr[0];
for(int i = 0;i<arr.length;i++) {
if(arr[i]>max) {
max = arr[i];
}
}
System.out.print(max);
}
3、将一维数组的反转,封装成方法
public static void arrayReserve(int[] arr) {
int temp;
for(int i = 0,j=arr.length-1;i<j;i++,j--) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
4、分析以下需求,并用代码实现:
(1)定义一个int类型的一维数组,内容为{6,2,9,15,1,5,20,7,18}
(2)将数组最大元素与最后一位元素进行交换,最小元素与第一位元素进行交换,并打印数组
提示思路:先查找最大值和最小值出现的索引。
package com.DaYu;
public class HomeWork03 {
public static void main(String[] args) {
int[] arr = {6,2,9,15,1,5,20,7,18};
int maxIndex = getMaxIndex(arr);
exChange(arr,arr.length-1,maxIndex);
int minIndex = getMinIndex(arr);
exChange(arr,0,minIndex);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
}
public static int getMaxIndex(int[] arr) {
int maxIndex = 0;
for (int i = 0; i < arr.length-1; i++) {
if(arr[maxIndex]<arr[i+1]) {
maxIndex = i+1;
}
}
return maxIndex;
}
public static int getMinIndex(int[] arr) {
int minIndex = 0;
for (int i = 0; i < arr.length-1; i++) {
if(arr[minIndex]>arr[i+1]) {
minIndex = i+1;
}
}
return minIndex;
}
public static void exChange(int[] arr,int m,int n) {
int temp;
temp =arr[m];
arr[m] =arr[n];
arr[n] = temp;
}
}