gpt4 book ai didi

sorting - 在 ArrayIndexOutOfBoundsException 中对程序执行结果进行排序

转载 作者:行者123 更新时间:2023-11-29 04:18:26 26 4
gpt4 key购买 nike

<分区>

请考虑以下代码:

import java.io.*; //Sorts by dividing the array in 2 groups then joining them

public class Esercizio29 {static void join(char[] a, int l, int m, int u) {
char[] b = new char[u - 1 + 1];
int i = l, j = m + 1, k = 0;

while (i <= m && j <= u)
if (a[i] <= a[j])
b[k++] = a[i++];
else
b[k++] = a[j++];
while (i <= m)
b[k++] = a[i++];
while (j <= u)
b[k++] = a[j++];
for (k = 0; k <= u - l; k++)
a[k + l] = b[k];
}
//Sorts the array from l to u
static void sort(char[] a, int l, int u) {
int m;
if (l != u) {
m = (l + u) / 2;
sort(a,l,m);
sort(a,m + 1,u);
join(a,l,m,u);
}
}



public static void main(String[] args) throws IOException{
final int N = 16;
char temp, v[] = new char[N];

for (int i = 0; i < N; i++)
v[i] = (char) System.in.read();
sort(v, 0, N - 1);
System.out.println("Vettore ordinato: ");
for(int i = 0; i < N; i++)
System.out.print(v[i]);
System.out.println();
}}

运行这段代码后,它给了我这个结果:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1

at Esercizio29.fondi(Esercizio29.java:14)

at Esercizio29.ordina(Esercizio29.java:27)

at Esercizio29.ordina(Esercizio29.java:25)

at Esercizio29.ordina(Esercizio29.java:25)

at Esercizio29.ordina(Esercizio29.java:25)

at Esercizio29.main(Esercizio29.java:39)

这个错误是什么意思,我该如何解决?谢谢。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com