VivianLee
2016-03-22 22:19
package com.test3; /* * * 功能:输出保存在数组中的前三名 */ import java.util.Arrays; public class test8 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int []scores = { 89 , -23 , 64 , 91 , 119 , 52 , 73}; test8 sys = new test8(); sys.getScore(scores); } public int[] getScore(int score[]){ Arrays.sort(score); int count = 0; for(int i=score.length;i>=0;i--){ if((score[i]>100)||(score[i]<0)){ continue; } count++; if(count>3){ break; } System.out.println("考试成绩的前三名为:"); System.out.println(score[i]); } return score; } }
我想要输出保存在数组中的前三名的成绩,可是eclipse提示数组越界呢,这是为什么呢?
这是运行结果:
因为第一个数组的下标是从0开始的,如果你访问score.length的话,会超出了数组的长度。从1到score.length的长度是score.length,但是数组从0开始,访问score.length的话,相当于访问了第score.length+1,所以会出现访问数组越界Exception
for(int i=score.length-1;i>=0;i--)
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题