亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

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--


正在回答

2 回答

舉個例子,你定一個一個數組

int?? a = new? int? [3]????? 那么a.length =3;??? 元素是a[0]?? ,?? a[1]?? ,??? a[2]??? ;?? 并沒有a【3】,正確代碼如圖http://img1.sycdn.imooc.com//57d2a7690001bfff07810590.jpg只要減一下就好,望采納

0 回復 有任何疑惑可以回復我~
#1

一百天后的榮光 提問者

非常感謝!
2016-09-10 回復 有任何疑惑可以回復我~

同學。以為數組是從0開始排序的,即scores[0]~scores[length-1]工length個元素。

求采納

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第一季(IDEA工具)升級版
  • 參與學習       1167472    人
  • 解答問題       18748    個

0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始

進入課程

java數組溢出,求解

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號