你两个比较程序比较晚之后并没有重新赋值,返回一直都是arr[0],因此只需要在for循环之后重新赋值就行了,代码如下:- public static void main(String[] args) {
- int[] arr=new int[5];//创建一个元素个数为5的整形数组
- Scanner in=new Scanner(System.in);//输入流
- for(int i=0;i<arr.length;i++)//输入数组元素
- {
- arr[i]=in.nextInt();
- }
-
- int max=Max(arr);//调用求最大值的函数
- int min=Min(arr);//调用求最小值的函数
- System.out.println(max+","+min);
-
- }
- static int Min(int[] arr)//求最小值的函数
- {
- int min=0;
- int small=arr[min]; //int small=arr[0];
- for(int i=0;i<arr.length;i++)
- {
- if(arr[i]<small) //if(arr[i]<small)
- {
- min=i; //smll=arr[i];
- }
- }
- small=arr[min];//small要重新赋值才行
- return small;//注意,你之前返回的small一直是arr[0],
-
- }
- static int Max(int[] arr)//求最大的得函数
- {
- int max=0;
- int big=arr[max]; //int big=arr[0]
- for(int j=0;j<arr.length;j++)
- {
- if(arr[j]>arr[max]) //if(arr[j]>big)
- {
- max=j; //big=arr[j];
- }
- }
- big=arr[max];//big要重新赋值才行
- return big;//注意,你之前返回的small一直是arr[0],
- }
复制代码 |