樱桃小wa子
2015-06-11 12:54
package com.imooc;
import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
HelloWorld hello=new HelloWorld();
int[] scores={89,-23,64,91,119,52,73};
hello.showTop(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void showTop(int[] scores){
Arrays.sort(scores);
int i;
for (i=scores.length-1;i>=0; i--) {
if(scores[i]<=100&&scores[i]>=0){
continue;
}
System.out.println("考试成绩的前三名为:");
System.out.println(scores[i]);
System.out.println(scores[i-1]);
System.out.println(scores[i-2]);
} }}
这是运行的错误提示,请大神指点指点,具体错在哪儿了!!!
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
at com.imooc.HelloWorld.showTop(HelloWorld.java:26)
at com.imooc.HelloWorld.main(HelloWorld.java:9)
倒数第二行和倒数第三行数组越界了,这个时候i是等于0 的
package com.imooc;
import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
HelloWorld hello=new HelloWorld();
int[] scores={89,-23,64,91,119,52,73};
hello.showTop(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void showTop(int[] scores){
Arrays.sort(scores);
int i;
for (i=scores.length-1;i>0; i--) {
if(scores[i]<=100&&scores[i]>=0){
continue;
}
System.out.println("考试成绩的前三名为:");
System.out.println(scores[i]);
System.out.println(scores[i-1]);
System.out.println(scores[i-2]);
} }}
/*提示的错误是数组下标越界
for (i=scores.length-1;i>0; i--) {}
*/
Java入门第一季(IDEA工具)升级版
1165523 学习 · 17586 问题
相似问题