/**
* 通过索引获取最大值
*
*
*/
public class Test1 {
public static void main(String[] args) {
int[] arr = {11,22,33,44,55,66};
int max = getMax(arr);
System.out.println(max);
System.out.println("=======================");
int max2 = getMaxByIndex(arr);
System.out.println(max2);
System.out.println("----------------------");
int max3 = getMax(arr, true);
System.out.println(max3);
System.out.println("**************************");
int max4 = getMax(arr,false);
System.out.println(max4);
}
//通过假定数组中的第一个元素是最大值,然后不断的进行判断,最终获取对大值
public static int getMax(int[] arr){
int max = arr[0];//假设数组的第一个元素为最大值
for(int i=0;i<arr.length;i++) {
if(max<arr[i]) {
max = arr[i];
}
}
return max;
}
/**
* 此方法可以求出数组对应的最大值或者最小值
* @param arr
* @param flag :true:表示求最大值,false:表示求最小值
* @return
*/
public static int getMax(int[] arr,boolean flag){
int max = arr[0];//假设数组的第一个元素为最值
for(int i=0;i<arr.length;i++) {
if(flag) {
if(max<arr[i]) {
max = arr[i];
}
} else {
if(max>arr[i]) {
max = arr[i];
}
}
}
return max;
}
//通过获取最大值的角标,最终返回该角标对应的数值
public static int getMaxByIndex(int[] arr){
int max = 0;//假设数组的角标为0的元素是最大的
for(int i=0;i<arr.length;i++) {
if(arr[max]<arr[i]) {
max = i; //max中存储的是当前最大值所对应的角标
}
}
return arr[max];
}
}
|
|