Java、冒泡排序、数组、线程中的异常;“主要”;错误

Java、冒泡排序、数组、线程中的异常;“主要”;错误,java,arrays,exception,bubble-sort,Java,Arrays,Exception,Bubble Sort,我今天在课堂上有一个关于冒泡排序的教程,我有一个错误,我不知道如何修复 线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:8 位于BubbleSorter.main(BubbleSorter.java:24) 这是没有评估,但我想通过它继续下去。 非常感谢。下面是我的全部代码 public class BubbleSorter { public static void main(String[] args) {

我今天在课堂上有一个关于冒泡排序的教程,我有一个错误,我不知道如何修复

线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:8 位于BubbleSorter.main(BubbleSorter.java:24)

这是没有评估,但我想通过它继续下去。 非常感谢。下面是我的全部代码

public class BubbleSorter {
    public static void main(String[] args)
    {
        int i;
        int array[] = { 12, 9, 4, 99, 120, 1, 3, 10 };
        System.out.println("Array Values before the sort:\n");
        for (i = 0; i < array.length; i++)
            System.out.print(array[i] + " ");
        System.out.println();
        System.out.println();

        bubble_srt(array, array.length);

        System.out.print("Array Values after the sort:\n");
        for (i = 0; i < array.length; i++)
            ;
        System.out.print(array[i] + " ");
        System.out.println();
        System.out.println("PAUSE");
    }

    private static void bubble_srt(int[] array, int length) {
        int i, j, t = 0;
        for (i = 0; i < length; i++) {
            for (j = 1; j < (length - 1); j++) {
                if (array[j - 1] > array[j]) {
                    t = array[j - 1];
                    array[j - 1] = array[j];
                    array[j] = t;
                }
            }
        }
    }
}
公共类BubbleSorter{
公共静态void main(字符串[]args)
{
int i;
int数组[]={12,9,4,99,120,1,3,10};
System.out.println(“排序前的数组值:\n”);
对于(i=0;i数组[j]){
t=阵列[j-1];
数组[j-1]=数组[j];
数组[j]=t;
}
}
}
}
}

您有一个小错误:

这:

for(i=0;i也会改变

for (j = 1; j < (length - 1); j++) {

你需要换两行

for (i = 0; i < array.length; i++)
        ;
System.out.print(array[i] + " ");
for(i=0;i

for(i=0;i

for(j=1;j<(长度-1);j++){

(j=1;j<(长度);j++)的
{

在第18行,您需要去掉;或者放在括号中{

请格式化您的代码。我想这是一个格式化问题,否则我会看到不同的错误消息。例如,
符号I在类X中不存在
好吧,
I
确实存在,它没有在for循环中声明。我想这是一种错误。在任何一种情况下,数组越界都来自排序本身f、 之后不打印数组。我不这么认为,请查看发生异常的方法:
BubbleSorter.main(BubbleSorter.java:24)
I实际上是在方法的最顶端定义的-@Binyamin是正确的,这是问题的原因谢谢,我会更改它谢谢您的输入!!
for (j = 1; j < (length - 1); j++) {
for (j = 1; j < length; j++) {
Array Values before the sort:

12 9 4 99 120 1 3 10 

Array Values after the sort:
1 3 4 9 10 12 99 120 
PAUSE
for (i = 0; i < array.length; i++)
        ;
System.out.print(array[i] + " ");
for (i = 0; i < array.length; i++)
    System.out.print(array[i] + " ");
for (j = 1; j < (length - 1); j++) {
for (j = 1; j < (length); j++) {