gpt4 book ai didi

java - 调用方法中的数组越界异常,如何从方法返回整个数组

转载 作者:行者123 更新时间:2023-12-01 09:26:16 26 4
gpt4 key购买 nike

这个程序是基本的插入排序。我得到ArrayIndexOutOfBoundsException在第 22 和 44 行。帮助我解决这个问题。如何从插入方法返回排序的整个数组。返回 a[] 不起作用................................................. ...

package analysis;

import java.util.*;

class Sort
{
int i,j,n,temp;
int a[] = new int[n];

int insertion(int a[],int n)
{
for (i=1;i<n;i++) {
j=i-1;
while (i>0 && a[j]>a[i]) {
temp = a[j];
a[j] = a[i];
a[i] = temp;
i--;
j--;
}
}
return a[n];
}
}

class Recurse
{
private static Scanner sc;

public static void main(String[] args)
{
System.out.println("enter array size");
int l,s;
sc = new Scanner(System.in);
s = sc.nextInt();
int b[] = new int[s];
int c[] = new int[s];
for (l=0;l<s;l++) {
b[l] = sc.nextInt();
}
Sort so = new Sort();
c[s] = so.insertion(b,s);
System.out.println("Sorted array is ");
for (l=0;l<s;l++) {
System.out.println(c[l]);
}
}
}

最佳答案

这两行代码导致了问题:

int a[] = new int[n];
return a[n];

返回 n 索引处的元素是不可能的,因为索引包括从 0n-1 的数字。

关于java - 调用方法中的数组越界异常,如何从方法返回整个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39810549/

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