大神们,有一个问题求解决啊
附上源代码
/*
给定一个数组{5,1,6,4,2,8,9}.
1.获取数组中的最大值,以及最小值。
*/
class ArrayTest
{
public static void main(String[] args)
{
int[] arr={5,1,6,4,2,-8,9};
int max = getMax(arr);
System.out.println("max="+max);
int max_2 = getMax_2(arr);
System.out.println("第一种结果="+max_2);
//获取最小值
int min = getMin(arr);
System.out.println("数组中最小值="+min);
}
//第一种
public static int getMax_2(int[] arr){
int max = 5;//这个地方的赋值为什么会关系到求最小值的结果。
//这里赋值为5的时候,最小值是1
//当赋值为最小值的下标的时候求出的最小值是错误的。求得的数为除了自己本身以外的最小值
//是什么原因
for(int i = 0;i<arr.length;i++){
if(arr[max]<arr){
arr[max]=arr;
}
}
return arr[max];
}
//第二种
public static int getMax(int[] arr){
int max = arr[0];
for(int i = 0;i<arr.length;i++){
if(max<arr){
max=arr;
}
}
return max;
}
//获取最小值
public static int getMin(int[] arr){
int min = arr[0];
for(int x = 0;x<arr.length;x++){
if(arr[x]<min){
min = arr[x];
}
}
return min;
}
} |