22 回答
TA贡献17条经验 获得超6个赞
public class 数组 {
public static void main(String[] args) {
// 定义一个长度为 3 的字符串数组,并赋值初始值
String hobbys[]=new String[3];
hobbys[1]="abc";
// 使用循环遍历数组中的元素
for(String str : hobbys ){
System.out.println(str);
}
}
}
TA贡献2条经验 获得超1个赞
数组的下标从0开始,你new String[1], 表示数组的大小为1, 那么只能是hobbys[0] = "123"; 在hobbys[1]时会出现ArrayIndexOutOfBoundsException 数组越界异常, 而且 String hobbys[0] = "123"; 是什么呢??? 声明还是赋值?直接hobbys[0] = "123";就好
TA贡献1条经验 获得超0个赞
String hobbys[]=new String[1]; 定义的是一个长度为1 的数组,定义长度为3 的数组应该是 String hobbys[]=new String[3];
String hobbys[1]="abc"; //java中没有这种定义方式,如果要初始化的话,直接使用相关变量 hobbys,如果你定义的是一个长度为1 的数组,数组角标是从0开始的,所以应该这样初始化 hobby[0] = "abc";
TA贡献1条经验 获得超0个赞
“为什么去掉了String hobbys[1]中的String就可以了”这种认知本身就有问题。
题中的错误原因:重定义hobbys数组导致编译不通过,去掉后编译可以通过,但运行时会报错,这个原因是数组下标越界。
添加回答
举报