package com.THREE;
import java.util.Arrays;
public class CLASS_8_1 {
// TODO Auto-generated method stub
public static void main(String[] args) {
int[]scores= {89,-23,64,91,119,52,73};
System.out.println("前三:");
CLASS_8_1 top=new CLASS_8_1();
top.getTop3(scores);
}
public void getTop3(int[]scores) {
Arrays.sort(scores); // 先对数组从小到大排序
int num=0; // 计数器
for(int i=scores.length-1;i>=0;i++) { // 倒序判断,除了大于100的三位数字,就是前三名
if(scores[i]>100||scores[i]<0) {
continue; // 如果成绩大于100或小于0,跳过该成绩,该成绩不进入计数器,但是for循环仍然继续运行
}
num++;
if(num>3) {
break; // 如果计数器超过三位,跳出for循环
}
System.out.println(scores[i]); // 依次输出前三名的成绩
}
}
}Console:前三:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7 at com.THREE.CLASS_8_1.getTop3(CLASS_8_1.java:26) at com.THREE.CLASS_8_1.main(CLASS_8_1.java:19)行数不一样,我原来的程序开头有注释,反正就是这里:if(scores[i]>100||scores[i]<0) {和这里:top.getTop3(scores);
添加回答
举报
0/150
提交
取消