为了账号安全,请及时绑定邮箱和手机立即绑定

下面这个为什么会运行失败,也出来答案了

public class HelloWorld {

    public static void main(String[] args) {

// 定义一个长度为 3 的字符串数组,并赋值初始值

String[] hobbys = { "sports", "game", "movie" };

System.out.println("循环输出数组中元素的值:");

// 使用循环遍历数组中的元素

for (int i =0;i<=hobbys.length;i++){

    System.out.println(""+hobbys[i]);

}

}

}



运行失败

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3

at HelloWorld.main(HelloWorld.java:11)

循环输出数组中元素的值:

sports

game

movie



正在回答

6 回答

数组越界,把等于号去掉就好了

2 回复 有任何疑惑可以回复我~
#1

weixin_慕仔5384704 提问者

什么是数组越界,超过了的意思吗
2019-02-02 回复 有任何疑惑可以回复我~
#2

我敲可爱噢 回复 weixin_慕仔5384704 提问者

对的,数组是0.1.2.3开始,你有个等于号的话就是4个,但你的数组内容只有三个
2019-02-02 回复 有任何疑惑可以回复我~

因为数组的下表是从0开始的,所以在for循环时,如果循环中的变量是从0开始的,要小于该数组的length

0 回复 有任何疑惑可以回复我~

 String[] hobbys = { "sports", "game", "movie" };
 
  
 
 // 使用循环遍历数组中的元素
 for(int i=0;i<=hobbys.length-1;i++)
 {
   System.out.println(hobbys[i]);
 }
  

1 回复 有任何疑惑可以回复我~

hobbys.length为3,下标0代表数组中第一个元素,下标3代表数组中第四个元素,这个数组中只有三个元素

2 回复 有任何疑惑可以回复我~

把等于号去掉

0 回复 有任何疑惑可以回复我~

输出那里把双引号和+号去掉试试

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

下面这个为什么会运行失败,也出来答案了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信