问题描述
我正在为我的计算机科学课制作一个基本程序,该程序应该在数组上执行选择排序。
问题是,它停止在过程的中间,我不知道为什么。
它曾经给我提供了一个超出范围的异常,由于某种原因,它不再起作用了。
如果有人可以帮助我解决此问题,我将不胜感激。
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);
}
}
解决方法
for(j=i+1;j<10;i++)
应该是for(j=i+1;j<10;j++)
-您要增加错误的变量。