首页 新闻 会员 周边 捐助

JAVA编译通过了但是程序跑不出来

0
[已解决问题] 解决于 2017-05-03 18:35

原程序:

public class SJ {
 float scores []=null;
 public void init()
 {
  scores = new float [5];
  for (int i=0;i<=scores.length;i++)
   scores[i]=(float) (Math.random()*100);
  }
 public void print()
 {
  for(int i=0;i<=scores.length;i++)
  System.out.println(scores[i]);
 }
 public static void main(String[] args){
  SJ at=new SJ();
  at.init();
  at.print();
 }
}

编译后显示:

F:\java>javac SJ.java

F:\java>java SJ
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
        at SJ.init(SJ.java:7)
        at SJ.main(SJ.java:16)

F:\java>

莫叹风尘的主页 莫叹风尘 | 菜鸟二级 | 园豆:204
提问于:2017-05-02 22:53
< >
分享
最佳答案
0

不是提示异常了么,ArrayIndexOutOfBoundsException 数组下标越界,在第7行init方法。

数组长度是5,循环中i的取值是0-5,不是6个数字吗?

奖励园豆:5
安静的下雪天 | 菜鸟二级 |园豆:274 | 2017-05-03 10:38

谢谢大佬。

莫叹风尘 | 园豆:204 (菜鸟二级) | 2017-05-03 18:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册