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

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

為什么使用while循環會拋出數組越界異常

 ? ? ? ?int i = str.length();
? ? ? ?while(i>=0){
? ? ? ? ? ?????if(i<=0) {
? ? ? ? ? ? ? ?????????System.out.println("i ----- " + i);
? ? ? ? ? ?????}
? ? ? ? ? ?????else {
? ? ? ? ? ? ? ?????i-=3;
? ? ? ? ? ? ? ?????str.insert(i, ',');
? ? ? ? ? ?????}

}//拋出ArrayIndexOutOfBoundsException



正在回答

3 回答

int len = str.length();

? ? ? ? while(len>=3){

? ? ? ? ? ? len = len - 3;

? ? ? ? ? ? str.insert(len,",");

? ? ? ? }


0 回復 有任何疑惑可以回復我~
int?i?=?str.length();
while?(i?>=?0)?{
????if?(i?>=?3)?{
????????i?-=?3;
????????str.insert(i,?',');
????}?else?{
????????System.out.println(str);
????????break;
????}
}

改下

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

當while判斷的i比3小時在判斷語句的else內 ?: ?語句(i-=3)則會出現負值,此時,語句? ?str.insert(i, ',') ?找不到對應得數組下標,系統出現數組越界異常提示。

改正:把第3行的代碼 ?if(i<=0) ? 改為 ?if(i<=3)即可解決越界問題。

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

舉報

0/150
提交
取消

為什么使用while循環會拋出數組越界異常

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

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

幫助反饋 APP下載

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

公眾號

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