4.10

题目:

判断Largest函数是否有错误,尝试列出错误信息,给出解决方案

 

代码展示:

复制代码
public class Main3 {
    public static void main(String[] args){
            int[] array = {};
            int length = 10;
            Largest(array,length);

            if(array!= null) {
                System.out.println("数组为空");
            }else if(length!=0){
                System.out.println("Largest不执行");
            }else{
                System.out.println("输出最大值");
            }


    }


    private static int Largest(int list[], int length){
        int i,max=0;
        for(i= 0; i< (length - 1); i++){
            if(list[i]> max){
                max=list[i];}
        }
        return max;}

}
复制代码

 

 

解决思路

  数组下标越界,假如数组array的下标在遍历过程中,实际上得到的是10,而得到的是比他下一位的数,即9,在数组初始化的时候,也就是申请了九个数组元素,这就会显示数组越界的错误,那么问题出现在了哪里呢

  就是for循环在遍历的过程中,for循环的终止判断出现了问题,字符数组的内存申请范围是精确的,但是忽略了初始化为0的数组空间,这也就是申请了九个,实际上有十个,数组越界错误出现。

posted on 2024-04-10 22:56  HA_wind  阅读(1)  评论(0编辑  收藏  举报

导航