当前位置:  开发笔记 > 编程语言 > 正文

Java Array Loop outofbound

如何解决《JavaArrayLoopoutofbound》经验,为你挑选了1个好方法。

我是初学者Java级别,学习数组循环的基础知识,在Intellij中编码.我一直在关注各个地方的在线教程,并坚持这一点:http://www.homeandlearn.co.uk/java/arrays_and_loops.html

使用相同的代码:

package com.java.ArraysA;

public class Main {

public static void main(String[] args) {

    int[] lottery_numbers = new int[49];
    int i = 0;

    for (i = 0; i < lottery_numbers.length; i++); {
        lottery_numbers[i] = i + 1;
        System.out.println(lottery_numbers[i] );
    }
}
}

我得到以下异常:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 49
at com.java.ArraysA.Main.main(Main.java:11)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

进程以退出代码1结束

任何有关代码错误的帮助都将非常感激.

到目前为止,这是我唯一一个无法解决问题的地方,即使它可能是一个显而易见的问题,也无法找到问题所在,所以如果是这样的话,请提前道歉.



1> Eran..:

你过早地关闭你的循环:

for (i = 0; i < lottery_numbers.length; i++);
                                            ^ remove this ;

目前你有一个空循环(即没有主体)只会增加i直到达到lottery_numbers.length(即49).

然后{}执行循环之后的块.

当执行该块时,lottery_numbers[49]抛出一个ArrayIndexOutOfBoundsException.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有