(1) 设计静态功能求最大值 getMax , 传入1个int数组类型参数,(2) 设计静态功能求最小值getMin , 传入1个int数组类型参数,返回int类型数据(3) 设计静态功能反转reverse,传入1个int数组类型参数,将数组中的数据反转并将该数组返回(4) 设计静态功能getIndex查找当前数组中数据对应的下标位置,传入1个int数组类型参数和int类型数据,将数组中该数据的下标返回
public class MathUtils {
/**
* (1) 设计静态功能求最大值 getMax 传入1个int数组类型参数,返回int类型数据如 [12345] 返回 5 (10分)
* @param numbers
* @return
*/
public static int getMax(int[] numbers){
int rs = 0;
if (numbers==null)
return rs;
for (int i = 0; i < numbers.length; i++) {
if (i==0)
rs= Math.max(numbers[i],numbers[i+1]);
else
rs= Math.max(numbers[i],rs);
}
return rs;
}
/**
* (2) 设计静态功能求最小值getMin , 传入1个int数组类型参数,返回int类型数据 , 如[1,2,3,4,5] 返回 1 (10分)
* @param numbers
* @return
*/
public static int getMin(int[] numbers){
int rs = 0;
if (numbers==null)
return rs;
for (int i = 0; i < numbers.length; i++) {
if (i==0)
rs= Math.min(numbers[i],numbers[i+1]);
else
rs= Math.min(numbers[i],rs);
}
return rs;
}
/**
* (3) 设计静态功能反转reverse,传入1个int数组类型参数,将数组中的数据反转并将该数组返回,如[1,2,3,4,5] , 返回[5,4,3,2,1] (10分)
* @param numbers numbers
* @return
*/
public static int[] doReverse(int[] numbers){
if (numbers==null)
return new int[]{};
int[] rs = new int[numbers.length];
int temp=0;
for (int i = numbers.length-1; i >= 0; i--) {
rs[temp] = numbers[i];
temp++;
}
return rs;
}
/**
* (4) 设计静态功能getIndex查找当前数组中数据对应的下标位置,传入1个int数组类型参数和int类型数据,将数组中该数据的下标返回,如,在[11,22,33,44,55] 查找 55 , 返回 下标 4. (10分)
*/
public static int getIndex(int[] numbers,int number){
for (int i = 0; i < numbers.length; i++) {
if (numbers[i] == number){
return i;
}
}
return -1;
}
/**
* (5) 设计静态功能交换数组中内容swap,传入1个int数组类型参数,无返回值,如传入[88,99] , 调用swap后数组内容为 [99,88] (10分)
*/
public static void swap(int[] numbers){
int temp;
for (int i = 0; i < numbers.length-1; i++) {
temp = numbers[i];
numbers[i] = numbers[i+1];
numbers[i+1] = temp;
}
}
/**
* (6) 设计静态功能统计数组中数据的总和 getSum,传入1个int数组类型参数,返回该数组中数据的总和,如 [1,2,3,4,5] 返回 15 (10分)
*/
public static int getSum(int[] numbers){
int sum = 0;
for (int number : numbers) {
sum += number;
}
return sum;
}
/**
* (7) 设计静态功能统计数组中数据的平均值 getAvg, 传入1个int数组类型参数,返回该数组中数据的平均值,如 [1,2,3,4,5] 返回 3 (10分)
*/
public static float getAvg(int[] numbers) {
int sum = 0;
for (int number : numbers) {
sum += number;
}
return (float)sum/numbers.length;
}
/**
*(8) 拓展功能实现 : 设计静态功能排序sort方法,传入1个int数组类型参数,无返回值 如 [ 10,2,8,5,7] , 调用sort后为 [2,5,7,8,10] (20分)
*/
public static int[] doSort(int[] numbers) {
Arrays.sort(numbers);
return numbers;
}
public static void main(String[] args) {
int[] a = new int[]{11,20,2,6,7};
//1
System.out.println(getMax(a));
//2
System.out.println(getMin(a));
//3
System.out.println(Arrays.toString(doReverse(a)));
//4
System.out.println(getIndex(a,11));
//5
int[] b = new int[]{11,20};
System.out.println(Arrays.toString(b));
//6
System.out.println(getSum(a));
//7
System.out.println(getAvg(a));
//8
System.out.println(Arrays.toString(doSort(a)));
}
}