慕粉3274091
2016-04-30 08:55
import java.util.*; public class HelloWorld { //完成 main 方法 public static void main(String[] args) { int[] scores={89,-23,64,91,119,52,73}; HelloWorld sorts=new HelloWorld(); getArrays(scores); } //定义方法完成成绩排序并输出前三名的功能 public static void getArrays(int[] scores){ Arrays.sort(scores); int[] score2=scores; int[] score3={0,0,0}; int cout=0; for(int i=score2.length;i>=0;i--){ if(score2[i]>100&&score2[i]<0) continue; cout+=1; score3[cout-1]=score2[i]; if(cout>3) break; } System.out.println("考试成绩的前三名为:\n"+ score3[0]+score3[1]+score3[2]); }
这是抛出ArrayIndexOutOfBoundsException异常,也就是说你的数组超出了范围, for(int i=score2.length-1;i>=0;i--)这里面的score2.length要减1, if(cout>=3)这里面的cout是大于等于3。
第1行导入Arrays方法
import java.util.Arrays;
第21行:score2[i]>100&&score<0;这个数不存在,应该为或||
21行 :这个大于100 并且要小于0 这种数字不存在吧!你改一下试试(||)
Java入门第一季(IDEA工具)升级版
1165175 学习 · 17581 问题
相似问题
回答 4
回答 3
回答 3
回答 1
回答 1