我用的是一個Vector的實例。把一個Result的數(shù)據(jù)放入其中。用一個for(int i = 0; i <=  Vector.size(); i++)
          我還在前面寫了一句int a = Vector.size(). a 的值取出來是等于2。可是在循環(huán)中就出錯了。Vector的下標(biāo)是從0開始的。我后來把for循環(huán)中的i<= Vector.size()的<= 改成了 i < Vector.size()就可以了。
          posted on 2005-08-26 10:27 rodney 閱讀(2637) 評論(2)  編輯  收藏 所屬分類: 工作中遇到的問題與解決方式
          Comments
          • # re: 數(shù)組下標(biāo)越界
            武國棟
            Posted @ 2009-06-03 14:14
            把"i<= Vector.size()的<= 改成了 i < Vector.size()就可以"的原因是:
            當(dāng)i=2時,2<=vector.size()成立,則會繼續(xù)執(zhí)行循環(huán)體;而此時i=2的意思是索引為2的數(shù)組下標(biāo)-->代表數(shù)組的第三個元素 但是數(shù)組中就兩個元素,取不到第三個,所以就會報下標(biāo)越界的問題 希望這樣解釋對你有用。。。  回復(fù)  更多評論   
          • # re: 數(shù)組下標(biāo)越界[未登錄]
            soul
            Posted @ 2013-11-14 15:20
            for(int i = 0;i < bulleth.size();i++){
            for(int j = 0;j < enemry.size();j++){
            //如果第i顆子彈與第j架敵機(jī)在x軸方向的距離小于敵機(jī)的寬度
            if((int)(Math.abs(bulleth.get(i).getX() - enemry.get(j).getX())) < enemry.get(j).getWidth()){
            //如果第i顆子彈與第j架敵機(jī)在y軸上的距離小于敵機(jī)的高度
            if((int)(Math.abs(bulleth.get(i).getY() - enemry.get(j).getY())) < enemry.get(j).getHeight()){
            bulleth.get(i).setIsDeath(true);
            enemry.get(j).setIsDeath(true);
            break;
            }
            }
            }
            }  回復(fù)  更多評論   
           
          主站蜘蛛池模板: 德格县| 佛教| 宝应县| 宝鸡市| 富民县| 荣成市| 五指山市| 苏州市| 黎川县| 泰和县| 巫溪县| 中卫市| 洛浦县| 彰化市| 本溪| 庆安县| 阳泉市| 黎城县| 会泽县| 孝感市| 西藏| 班戈县| 宜都市| 黎城县| 梅州市| 满洲里市| 苏尼特右旗| 铜陵市| 金昌市| 新化县| 玛纳斯县| 衡阳县| 大英县| 汪清县| 桂东县| 聂荣县| 屯门区| 太仓市| 梅河口市| 滨州市| 华安县|