黑马程序员技术交流社区

标题: 数组指针越界报错。找不到哪里越界了??? [打印本页]

作者: 曹亚辉    时间: 2016-9-9 20:45
标题: 数组指针越界报错。找不到哪里越界了???
package com.hui_mao;

import java.util.Arrays;

public class Demo2 {
        public static void main(String[] args) {
                int[] arr  = {45,59,25,78,36,15,78,59,45,9,3,99,23,4};
                String old_arr = Arrays.toString(arr);
                System.out.println(old_arr);
                //正序排列
                for (int i = 1; i < arr.length; i++) {
                        for (int j = arr.length-i; j >=0; j--) {
                                if (arr[j]<arr[j-1]) {
                                        int temp;
                                        temp = arr[j];
                                        arr[j] = arr[j-1];
                                        arr[j-1] = temp;
                                }
                        }
                }
               
                String new_arr = Arrays.toString(arr);
                System.out.println(new_arr);
                //倒序排列
                for (int i = 1; i < arr.length; i++) {
                        for (int j = arr.length-i; j >=0; j--) {
                                if (arr[j]>arr[j-1]) {
                                        int temp;
                                        temp = arr[j];
                                        arr[j] = arr[j-1];
                                        arr[j-1] = temp;
                                }
                        }
                }
                String arr_old = Arrays.toString(arr);
                System.out.println(arr_old);
        }
}

作者: Array先生    时间: 2016-9-9 21:44
把for循环里面的j>=0 改为 j>0就可以了,拿走不谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2