木木田心
2019-10-20 00:14
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7 at HelloWorld.showTop3(HelloWorld.java:17) at HelloWorld.main(HelloWorld.java:9) 考试成绩的前三名为:
import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
System.out.println("考试成绩的前三名为:");
int[] scores = {89 , -23 , 64 , 91 , 119 , 52 , 73};
HelloWorld hello = new HelloWorld();
hello.showTop3(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void showTop3(int[] scores){
Arrays.sort(scores);
int num=0;
for(int i = scores.length; i >= 0; i--){
if(scores[i]<0 || scores[i]>100){
continue;
}
num++;
if(num>3){
break;
}
System.out.println(scores[i]);
}
}}
for循环里面应该这样写for(int i=sores.length-1;i<sores.length;i--)应该数组是从0开始的 所以i=数组的长度-1,
数组下标那里出错了,for ( int i = scores.length - 1; i >= 0&& scoreNum<3; i-- ),i应该从scores.length-1开始从后往前遍历
数组下标从0开始,for循环中初始化i值为数组长度超界了,应为scores.length-1
Java入门第一季(IDEA工具)升级版
1165558 学习 · 17587 问题
相似问题