/*现有一组数{3,12,5,6,11,8,7}
请编写Java程序求租该组数的最大值和最小值.(请编写2种方法实现)
*/
/*第一种方法根据别人思路给予方法*/
public class demo5 {
public static void main(String[] args) {
/* int[] str ={3,12,5,6,11,8,7};
int max=str[0];
int min=str[0];
for (int i = 0; i <str.length ; i++) {
if (max<str[i]){
max=str[i];
}
if (min>str[i]){
min=str[i];
}
}
System.out.println("这个数组最大值为:"+max+"\t最小值:"+min);
}
}*/
/*第二种方法根据冒泡排序方法*/
int[] str ={3,12,5,6,11,8,7};
for (int i = 0; i <str.length ; i++) {
for (int j = 0; j <str.length-1-i ; j++) {
if (str[j]<str[j+1]) {
int temp=str[j];
str[j]=str[j+1];
str[j+1]=temp;
}
}
}
System.out.println("数组中最大值:"+str[0]+"最小值"+str[str.length-1]);
}
}
第三种可以将下标打印出来:
int[] arr = {12,3,5,6,11,8,7};
int maxInd = -1, max = arr[0], minInd = -1, min = arr[0];
for(int i = 0; i < arr.length; i++){
if(arr[i] > max || arr[i] == max){
max = arr[i];
maxInd = i;
}
if(arr[i] < min || arr[i] == min){
min = arr[i];
minInd = i;
}
}
System.out.println("最大值" + max + " 下标:" + maxInd + " 最小值" + min + " 下标:" + minInd);
运行结果: