java數組溢出,求解
java數組溢出的問題
import java.util.Arrays;
public class HelloWorld {
? ??
? ? //完成 main 方法
? ? public static void main(String[] args) {
? ? ? ??
? ? ? ? int[] scores = {89,-23,64,91,119,52,73};
? ? ? ? HelloWorld hello = new HelloWorld();
? ? ? ? ?
? ? ? ?
? ? ? ? System.out.println("考試成績的前三名為");
? ? ? ? ?hello.paixu(scores);
? ? ? ??
? ? ? ??
? ? }
? ??
? ? //定義方法完成成績排序并輸出前三名的功能
? ??
? ??
? ? public void paixu(int[] scores){
? ? ? ? Arrays.sort(scores);
? ? ? ? int count = 0;
? ? ? ??
? ? ? ??
? ? ? ? for(int i=scores.length;i>0;i-- ){
? ? ? ? ? ? if(scores[i]<0||scores[i]>100){
? ? ? ? ? ? ? ? continue;
? ? ? ? ? ? }
? ? ? ? ? ??
? ? ? ? ? ? ? count++;
? ? ? ? ? ? if(count>3){
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? ? ? ? ??
? ? ? ? ? ?System.out.println(scores[i]);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? }
? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? 請問這樣寫那個for循環為什么會出現數組溢出,而要寫成i=scores.length-1;i>=0;i--
2016-09-09
舉個例子,你定一個一個數組
int?? a = new? int? [3]????? 那么a.length =3;??? 元素是a[0]?? ,?? a[1]?? ,??? a[2]??? ;?? 并沒有a【3】,正確代碼如圖
只要減一下就好,望采納
2016-09-09
同學。以為數組是從0開始排序的,即scores[0]~scores[length-1]工length個元素。
求采納