如何使代码忽略ArrayIndexOutOfBoundsException java

如何使代码忽略ArrayIndexOutOfBoundsException java,java,indexoutofboundsexception,Java,Indexoutofboundsexception,我想知道在java中,当遍历数组并将值放在某些索引中时,是否有一种方法可以跳过一个越界异常,直接转到下一项 比如说, for (int x = 0; x <= array.length; x++) { for (int y = 0; y <= array[0].length; x++) { // code that determines wh

我想知道在java中,当遍历数组并将值放在某些索引中时,是否有一种方法可以跳过一个越界异常,直接转到下一项

比如说,

           for (int x = 0; x <= array.length; x++) 
           {
               for (int y = 0; y <= array[0].length; x++)
               {
                   // code that determines where to put things and in what indices

                   //if this index is out of the array bounds, I want to forget about it and keep going through the loops

               }

               }

           }
for(int x=0;x
我想知道在java中迭代
数组并将值放置在某些索引中,以跳过越界
异常,只需转到下一项

如果索引在某个索引处超出范围,那么下一个索引肯定也超出范围。要使代码正常工作,只需执行以下操作

 for (int x = 0; x <array.length; x++) 
           {
               for (int y = 0; y <array[x].length; y++)
               {
for(int x=0;x
我想知道在java中迭代
数组并将值放置在某些索引中,以跳过越界
异常,只需转到下一项

如果索引在某个索引处超出范围,那么下一个索引肯定也超出范围。要使代码正常工作,只需执行以下操作

 for (int x = 0; x <array.length; x++) 
           {
               for (int y = 0; y <array[x].length; y++)
               {

for(intx=0;x对。首先,嵌套循环的更新部分应该是y++。而不是x++。该代码将无限循环


第二,您可以将循环包装为try-catch,这将捕获异常,但不建议忽略异常。为什么不设计代码,使其不会引发异常?

对。首先,嵌套循环的更新部分应为y++。而不是x++。该代码将无限循环


其次,您可以将循环包装为try-catch,这将捕获异常,但不建议忽略异常。为什么不设计代码使其不会引发异常?

数组
索引从0开始

因此,当您有一个长度为100的
数组时,那么索引是:

  0   1   2   3   4   5  ..... 99   (total size of 100 of course)
  ^   ^   ^   ^   ^   ^        ^
  |   |   |   |   |   |        |
first                         last
当您执行
array.length
时,实际上会得到100,但您需要迭代到99


因此,替换
数组
索引从0开始

因此,当您有一个长度为100的
数组时,那么索引是:

  0   1   2   3   4   5  ..... 99   (total size of 100 of course)
  ^   ^   ^   ^   ^   ^        ^
  |   |   |   |   |   |        |
first                         last
当您执行
array.length
时,实际上会得到100,但您需要迭代到99


因此,替换
该问题意味着您在数组上使用了无效的索引。这可能是一个负数,因为所有数组都从0开始。如果您的数组有N个项目,并且您将尝试获取索引为N或更高的项目,您也将得到此异常。只有中的可用索引是ng>0到N-1,其中0指向第一个项,N-1指向最后一个项。因此,很明显,当索引超出数组限制时,下一个索引肯定会超出范围。因此,您可以迭代索引,直到它超出范围,并在那里停止迭代以避免该异常。

问题意味着您使用了索引o无效的n数组。这可能是负数,因为所有数组都从0开始。如果数组中有n个项目,并且您将尝试获取索引为n或更高的项目,则也会出现此异常。只有从0到n-1的可用索引,其中0指向第一个项目,n-1到最后一个。很明显,当你的索引超出数组限制时,下一个索引肯定会超出范围。因此,你可以迭代索引,直到它超出范围,然后在那里停止迭代,以避免出现异常。

首先,我会在内部循环中编写y++代码。幸运的是,初学者无法做到这一点。不过r、 鼓励他们学习如何编写不抛出ArrayIndexOutOfBoundsException的代码。首先,我会在内部循环中编写y++。幸运的是,初学者无法做到这一点。相反,鼓励他们学习如何编写不抛出ArrayIndexOutOfBoundsException的代码。