数组基础

时间:2011-09-30 11:06:06

标签: java

我有一个数组大小为11的字符串,我添加了一些项目。

Decalration ::

 String arr_sound[] = new String[11];

初始化::

arr_sound[0] = "bike_route.mp3";
    arr_sound[1] = "closed.mp3";
    arr_sound[2] = "exit.mp3";
    arr_sound[3] = "no_parking.mp3";  
                 ....
                 ....
    arr_sound[11] = "touch_and_show.mp3";

问题如果我使用 arr_sound[01] = "closed.mp3" 进行初始化,则会出错。是什么解决方案? 感谢

5 个答案:

答案 0 :(得分:4)

这一行:

arr_sound[11] = "touch_and_show.mp3";

应该抛出一个ArrayOutOfBoundException。

您的数组可以包含11个已定义的项目 第一个进入arr_sound[0]
第11和最后进入arr_sound[10]

arr_sound[11]将是第12项。

答案 1 :(得分:2)

你应该知道,以0开头的java数字是八进制数。

答案 2 :(得分:0)

你不应该使用这样的代码:

arr_sound[01] = ...

arr_sound[11] = ...

因为索引是一个int,必须从010

答案 3 :(得分:0)

arr_sound[11] = "touch_and_show.mp3";

如果您的数组只有11个元素,则无效。您需要创建一个包含12个元素的数组:

new String[12];

答案 4 :(得分:0)

为什么要使用 O1 进行初始化?

正确的事情应该从0开始,因为这是java的第一个默认索引,除非你另外设置它。

<强> arr_sound[0] arr_sound[1] . . . arr_sound[10]

以0开头的值可能是八进制。