為什么使用while循環會拋出數組越界異常
? ? ? ?while(i>=0){
? ? ? ? ? ?????if(i<=0) {
? ? ? ? ? ? ? ?????????System.out.println("i ----- " + i);
? ? ? ? ? ?????}
? ? ? ? ? ?????else {
? ? ? ? ? ? ? ?????i-=3;
? ? ? ? ? ? ? ?????str.insert(i, ',');
? ? ? ? ? ?????}
}//拋出ArrayIndexOutOfBoundsException
2021-06-03
int len = str.length();
? ? ? ? while(len>=3){
? ? ? ? ? ? len = len - 3;
? ? ? ? ? ? str.insert(len,",");
? ? ? ? }
2020-03-06
改下
2020-01-01
當while判斷的i比3小時在判斷語句的else內 ?: ?語句(i-=3)則會出現負值,此時,語句? ?str.insert(i, ',') ?找不到對應得數組下標,系統出現數組越界異常提示。
改正:把第3行的代碼 ?if(i<=0) ? 改為 ?if(i<=3)即可解決越界問題。