求教,为什么程序最大值输出为7,最小值却为2呢?
public class MaxMin {
public static void main(String[] args) {
int[] arr={1,5,3,4,2,7,6};
MaxMin mm=new MaxMin();
int max=mm.max(arr);
System.out.println("max="+max);
int min=mm.min(arr);
System.out.println("min="+min);
}
public int min(int[] arr){
int min=0;
for(int i=1; i<arr.length; i++){ if(arr[min]>arr){
min=i;
}
}
return arr[min];
}
public int max(int[] arr){
for(int j=1; j<arr.length; j++){
if(arr[0]<arr[j])
arr[0]=arr[j];
}
return arr[0];
}
public static void main(String[] args) {
int[] arr = { 1, 5, 3, 4, 2, 7, 6 };
MaxMin mm = new MaxMin ();
int max = mm.max(arr);
System.out.println("max=" + max);
int min = mm.min(arr);
System.out.println("min=" + min);
}
public int min(int[] arr) {
int min =arr[0];
for (int i = 1; i < arr.length; i++) {
if (min > arr) {
min=arr; //你这里的算法有问题,需要改为arr[min] = i;
}
}
return min }
public int max(int[] arr) {
for (int j = 1; j < arr.length; j++) {
if (arr[0] < arr[j])
arr[0] = arr[j];
}
return arr[0];
} 作者: 刘松老师 时间: 2013-3-10 21:01