【问题标题】:Array index out of bond by putting Array Zero index value to another array?通过将数组零索引值放入另一个数组来使数组索引脱离键?
【发布时间】:2015-02-11 02:33:19
【问题描述】:

我不明白可能是它的一些愚蠢的错误

我有数组

String[] Data

下面的字符串在数据的零索引处,

[ ["Walls",  "Floors",  "Ceilings",  "Pillars", ,  "];

我愿意将它放在一些新数组中的循环中,索引为零,例如

String[] Description = null;

Description[0]=Data[0]

它给出了错误的数组索引??

发生了什么错误?

我想把上面的字符串放在描述的索引0处

希望您的建议

详情:

String[] Description=null;
String Manupulate ="";
for(int ques=0;ques<MultiQuestion.length;ques++)
        {
Manupulate = "["Walls",  "Floors",  "Ceilings",  "Pillars"],  "";
            String[] Detail = Manupulate.split("]");
Description[ques] = Detail[0];
}

Detail[0] 将获得["Walls", "Floors", "Ceilings", "Pillars"]

我想在 Description[0] 中获取 Detail[0] 的值。

我正在使用 i 必须在 Descriotion[1] 中获取 Detail 值,依此类推,直到循环结束

希望您的建议

【问题讨论】:

  • 如果您不想在插入时受到 ArrayIndexOutOfBoundException 的困扰,我建议您使用 Collection 而不是数组。
  • 您添加的代码无法编译。如果确实如此,它将给出 NPE 而不是 AIOOBE。请提供 SSCCE(请参阅 sscce.org)...不是幻想代码。

标签: java arrays oop loops indexing


【解决方案1】:

如果你不初始化Description,它应该给你NullPointerException,而不是ArrayIndexOutOfBoundsException

试试

String[] Description = new String[Data.length];
Description[0]=Data[0];

【讨论】:

  • 我需要在 fore 循环之外初始化 Describe 以使其全局化,以便 Description 也可以获取其他一些记录的信息
【解决方案2】:

您没有定义描述的长度。您需要通过以下方式分配该数组内存:

Description = new String[ARRAY_SIZE];

【讨论】:

  • 如果我使用 string[],我不知道它的确切长度那么它工作吗?
  • 可以使用数组的长度Data
  • 我在循环中使用它,如果我给它数组长度,那么它会在索引 0 处添加整个字符串在索引 0 处?
  • 你能粘贴一个代码 sn-p 作为问题的一部分,它会让事情变得更容易。
  • @user3664724 - 我认为他的意思是真正的代码;即实际编译并实际产生您所描述的症状的代码。您添加的代码两者都没有。
猜你喜欢
  • 2021-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多