Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数组索引越界异常基本_Java - Fatal编程技术网

Java 数组索引越界异常基本

Java 数组索引越界异常基本,java,Java,当我编译这个程序时,它没有错误,但是当我运行它时,我得到一个越界错误。有什么帮助吗?谢谢 准确的误差如下: 主线程java.lang.ArrayIndexOutOfBoundsException中的异常:4 在javaapplication.javaapplication.mainJavaApplication.java:32 C:\Users\Juwon\AppData\Local\NetBeans\Cache\8.2\executor snippets\run.xml:53:Java返回:1

当我编译这个程序时,它没有错误,但是当我运行它时,我得到一个越界错误。有什么帮助吗?谢谢

准确的误差如下:

主线程java.lang.ArrayIndexOutOfBoundsException中的异常:4 在javaapplication.javaapplication.mainJavaApplication.java:32 C:\Users\Juwon\AppData\Local\NetBeans\Cache\8.2\executor snippets\run.xml:53:Java返回:1 生成失败总时间:0秒

为了;i.长度;i++; 分号是这里的麻烦制造者。
这导致变量i大于数组的最后一个索引。因此出现了越界例外

正如Elliot所说,删除for循环末尾的分号,代码应该可以正常工作。在for循环中初始化计数器变量也是常见的做法。for循环头应该如下所示

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

你确定你发布了相同的代码吗;iIt编译只意味着它没有语法错误。这并不意味着它没有逻辑错误。数组索引超出边界意味着您已在数组的任一端运行完。。使用调试器逐步完成代码将向您显示问题所在的位置。
for (int i = 0; i < grades.length; i++) {        
    System.out.println(i);
    System.out.printf("%d\t%s\t%d\n", i, Students[i], grades[i]);
    sum += grades[i];
}
for(;i<grades.length;i++);
for(int i = 0;i<grades.length;i++)