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

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日

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料