我有一个数组大小为11的字符串,我添加了一些项目。
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"
进行初始化,则会出错。是什么解决方案?
感谢
答案 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,必须从0
到10
答案 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开头的值可能是八进制。