王小五_ 2022-03-07 10:11 采纳率: 51.6%
浏览 46
已结题

java使用for循环输出数组最大值最小值,问题如下,输出最大值正常,输出最小值为什么为0

package day06;
//求数组元素的最大值
public class MaxOfArray {
    public static void main(String[] args) {
        int [] arr = new int[10];
        for(int i = 1; i < arr.length ; i++){
            arr[i] = (int)(Math.random() * 100);
            System.out.print(arr[i]+"\t");
        }
        System.out.println();
        //数组最大值
        int max = arr[0];
        for(int i = 1 ; i < arr.length ; i++){
            if(arr[i] > max) {
                max = arr[i];
            }
        }
        System.out.println("最大值为  " + max);
        //数组最小值
        int min = arr[0];
        for(int i = 1 ; i < arr.length; i++){
            if(arr[i] < min){
                min = arr[i];
            }
        }
        System.out.println("最小值    "+ min);
    }
}

  • 写回答

1条回答 默认 最新

  • bigeightwind 2022-03-07 10:24
    关注

    因为你一开始数组随机赋值的时候,是从数组下标1开始的,不是从零开始的,所以你的数组0位,是默认值0。你比大小的时候,是从数组0到数组9,所以你第一位是0,后面的随机数都比0大,所以最小值一直是0。
    System.out.println();-------->你这一句不就能看见,你的数组内容吗?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏

报告相同问题?

问题事件

  • 系统已结题 3月15日
  • 已采纳回答 3月7日
  • 创建了问题 3月7日