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

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

正在回答

4 回答

因為數組的下標是從零開始的,i代表的是下標則應為數組的個數減一如:int[]={1,2,3,4,5} 數組有五個數則其下標與其相對應為int[0], int[1], int[2], int[3], int[4] ,若你i等于數組個數則及其下標到int[5] 而實際上是數組小標int[5]沒有對應的數組值則就會報錯數組越界異常

ArrayIndexOutOfBoundsException:


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

hobbys.length表示數組的長度,這個題的數組有3個,所以hobbys.length的值是3,若i<=3,那么循環判定成立后執行完時i的值為4,此時要輸出hobbys[4],就超出了數組的范圍,會報錯

Exception?in?thread?"main"?java.lang.ArrayIndexOutOfBoundsException:?3
	at?HelloWorld.main(HelloWorld.java:10)
改為i<hobbys.length?或者i<=hobbys.length-1即可


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

所以如果要寫等號的話,要這樣寫:i<=hobbys.length-1

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

因為i是從0開始的,如果等于.length,就多了一個值了,越界了

簡單講就比如說有5個箱子,如果i等于<=5,當i=4時,剛好是指針指到第5個箱子,如果i=5,那就是第6個箱子了(因為i是從0開始計算的),但是不存在第6個箱子,就會出錯了。

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

舉報

0/150
提交
取消

為什么是i<hobbys.length而不是i<=

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

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

幫助反饋 APP下載

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

公眾號

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