【问题标题】:Java: selection sort stops without any error messageJava:选择排序停止而没有任何错误消息
【发布时间】:2020-09-17 23:14:09
【问题描述】:

我正在为我的计算机科学课制作一个基本程序,它应该对数组执行选择排序。
问题是,它在过程中间停止,我不知道为什么。
它曾经给我一个超出范围的异常,由于某种原因它不再这样做了。
如果有人可以帮助我修复它,我将不胜感激。

import java.util.Random;
public class main {

    public static void main(String[] args) {
        int i;
        int j;
        int k;
        int tausch;
        //int size = 10;
        Random rand = new Random();
        int z[] = new int[10];
        for(i=0;i<10;i++) {
            z[i] = rand.nextInt(10) + 1;
        }
        for(i=0;i<z.length;i++) {
            System.out.print(z[i]+", ");
        }
        
        long startTime = System.nanoTime();
        for(i=0;i<z.length;i++) {
            k = i;
            for(j=i+1;j<10;i++) {
                if(z[k] > z[j]) {
                    k = j;
                }
            }
            tausch = z[i];
            z [i] = z[k];
            z[k] = tausch;
        }
        long endTime = System.nanoTime();
        long totalTime = endTime - startTime;
        
        System.out.println();
        for(i=0;i<z.length;i++) {
            System.out.print(z[i]+", ");
        }
        System.out.println();
        System.out.print(totalTime);
        
    }

}

【问题讨论】:

  • 您没有在第二个循环中增加变量 j

标签: java arrays sorting selection-sort


【解决方案1】:

for(j=i+1;j&lt;10;i++)

应该是for(j=i+1;j&lt;10;j++) - 你增加了错误的变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-12
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多