Java-Java.lang.ArrayIndexOutOfBoundsException

Java-Java.lang.ArrayIndexOutOfBoundsException,java,arrays,Java,Arrays,我正在尝试运行我的代码,它显示了有关异常的信息: java.lang.ArrayIndexOutOfBoundsException 我在谷歌上搜索了它,据我所知,当我试图访问一个负的或大于数组长度的索引时,会发生这种情况。 但我似乎找不到问题所在,以下是我的代码: 谢谢你的帮助 编辑:错误消息: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 at Calculator.addOne(Calculat

我正在尝试运行我的代码,它显示了有关异常的信息:

java.lang.ArrayIndexOutOfBoundsException
我在谷歌上搜索了它,据我所知,当我试图访问一个负的或大于数组长度的索引时,会发生这种情况。 但我似乎找不到问题所在,以下是我的代码:

谢谢你的帮助

编辑:错误消息:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at Calculator.addOne(Calculator.java:127)
at Calculator.add(Calculator.java:88)
at Program.main(Program.java:8)

关于代码的相关部分,我不知道,这就是我来找您的原因。

问题似乎与第86行有关

  arrResult = this.addOne(arrResult.length);
数组索引是基于0的,所以0-length-1,您传入length,然后使用它访问第127行的数组

  switch(arrResult[arrayIndex])

问题似乎与第86行有关

  arrResult = this.addOne(arrResult.length);
数组索引是基于0的,所以0-length-1,您传入length,然后使用它访问第127行的数组

  switch(arrResult[arrayIndex])
本部分代码:

public int[] addOne(int arrayIndex)

 124.
        {

 125.
                switch(arrResult[arrayIndex])

 126.
                {

 127.
                        case 0:

 128.
                                arrResult[arrayIndex] = 1;
这是错误的根源

请注意

在java中,数组索引的范围从0到长度-1

在上面的代码中,当调用方法
addon()
时,您将数组长度作为参数传递,在上面的代码中,您试图访问不存在的
array[length]
,因此出现异常。因此,您可能希望保持
length-1

在下面的代码行中#86

代码中有很多逻辑错误。这正是引发您提到的异常的部分

这部分代码:

public int[] addOne(int arrayIndex)

 124.
        {

 125.
                switch(arrResult[arrayIndex])

 126.
                {

 127.
                        case 0:

 128.
                                arrResult[arrayIndex] = 1;
这是错误的根源

请注意

在java中,数组索引的范围从0到长度-1

在上面的代码中,当调用方法
addon()
时,您将数组长度作为参数传递,在上面的代码中,您试图访问不存在的
array[length]
,因此出现异常。因此,您可能希望保持
length-1

在下面的代码行中#86


代码中有很多逻辑错误。这就是引发您提到的异常的那一个

您能在这里发布代码的相关部分以及堆栈跟踪吗?请。您可以发布有关此异常的stackTrace吗?:异常引发的代码行是哪一行?您可以发布给出异常的代码行吗。另外,当您发布问题时,请在问题正文中发布必要的代码片段,以供将来参考。谢谢。嗯,代码中有很多逻辑错误。但是引发异常的是-
this.addOne(arresult.length)
,在这里传递数组的长度,并将其用作
addOne
方法中的
index
。将此调用更改为-
this.addOne(arresult.length-
);`。请注意,这并不能解决所有问题。我没有勇气把每个问题都写在这里。你能把代码的相关部分和堆栈跟踪一起发布在这里吗?请。您可以发布有关此异常的stackTrace吗?:异常引发的代码行是哪一行?您可以发布给出异常的代码行吗。另外,当您发布问题时,请在问题正文中发布必要的代码片段,以供将来参考。谢谢。嗯,代码中有很多逻辑错误。但是引发异常的是-
this.addOne(arresult.length)
,在这里传递数组的长度,并将其用作
addOne
方法中的
index
。将此调用更改为-
this.addOne(arresult.length-
);`。请注意,这并不能解决所有问题。我没有勇气把这里的每一个问题都说出来。