淋风沐雨 2021-02-04 13:05 采纳率: 0%
浏览 28

java选择排序:无法调用swapArray方法

package 排序;

public class xuanzhe {
    public static void main(String[] args) {
//        选择排序
        int a[]= {123,1231,21,31,23121,1123};
        System.out.println("请输入数组");
        printArray(a);
        System.out.println("排序完成");
        selectSorr(a);
        printArray(a);
    }

    public static void selectSorr(int[] a) {
        // TODO 自动生成的方法存根
        int i=0;
        int j=0;
        int min_index=0;
        for ( i = 0; i < a.length; i++) {
            min_index=i;
            for (j = i+1; j < a.length; j++) {
                min_index=j;
            }
        }
        if (i!=min_index) {
            swapArray(i,j,a);
        }
    }
//    无法调用swapArray方法
    public static void swapArray(int i,int j, int []a) {
        // TODO 自动生成的方法存根
        int temp=a[i];
        a[i]=a[j];
        a[j]=temp;
    }

    public static void printArray(int[] array) {
        // TODO 自动生成的方法存根
        for(int i:array) {
            System.out.print(i+" ");
        }
        System.out.println();
    }
}
 

  • 写回答

3条回答 默认 最新

  • 血舞齐天 2021-02-04 13:24
    关注

    int i与j声明在for循环之外。在最后一次循环中即便没有进入循环体,但是i++执行了,最终i=6数组越界

    评论

报告相同问题?

悬赏问题

  • ¥15 电脑键盘实现触摸功能
  • ¥25 matlab无法将表达式转换为双数组怎么解决?
  • ¥15 单片机汇编语言相关程序
  • ¥20 家用射频美容仪技术规格
  • ¥15 大家帮我看看为什么错了
  • ¥15 unity互动琴弦抖动效果
  • ¥15 做了个的二极管反向饱和电流测量电路,但是测试达不到效果
  • ¥15 nginx无证书访问https失败
  • ¥15 树莓派启动AP热点传入数据
  • ¥15 multisim中关于74ls192n和DSWPK开关的问题(相关搜索:计数器)