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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

前綴平均算法中數組列表的越界錯誤

前綴平均算法中數組列表的越界錯誤

哈士奇WWW 2024-01-05 16:46:17
java.lang.IndexOutOfBoundsException:將單個值添加到第一個 arrayList 時發生錯誤,以便執行前綴平均值,以便 A 的值通過以下方式計算我想指出,在此算法中使用數組是有效的,但是當嘗試切換到數組列表時,是否會出現問題。數組 A A[i] 的內容A[0]     (X[0])/1A[1]     (X[0]+X[1])/2A[2]     (X[0]+X[1]+X[2])/3A[3]     (X[0]+X[1]+X[2]+X[3])/4A[4]     (X[0]+X[1]+X[2]+X[3]+X[4])/5A[5]     (X[0]+X[1]+X[2]+X[3]+X[4]+X[5])/6A[6]     (X[0]+X[1]+X[2]+X[3]+X[4]+X[5]+X[6])/7A[7]     (X[0]+X[1]+X[2]+X[3]+X[4]+X[5]+X[6]+X[7])/8A[8]     (X[0]+X[1]+X[2]+X[3]+X[4]+X[5]+X[6]+X[7]+X[8])/9A[9]     (X[0]+X[1]+X[2]+X[3]+X[4]+X[5]+X[6]+X[7]+X[8]+X[9])/10從 a.get(i) = s/(i+1); 開始 那沒有幫助。然后嘗試設置 a[i] 的內容與 s/(i+1) 的結果仍然無濟于事public class prefixAverage{    public static void main(String args[]) {        ArrayList <Float> X = new ArrayList <Float>();        X.add(9f);        System.out.print(PrefixAverage(X));    }    public static ArrayList<Float> PrefixAverage(ArrayList<Float> X){        ArrayList <Float> a = new ArrayList <Float>();        float s = 0;        for (int i = 0; i<= X.size()-1;i++) {            s = s +X.get(i);            a.set(i,s/(i+1));            System.out.print(a.get(i)+", ");        }        return a;    }}我預計隨著 A 指數的增加,平均尺寸也會增加
查看完整描述

1 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

List::set現有元素設置為新值。在您的情況下,a是一個空列表,因此您不能使用該方法(或者您會收到異常)。

您可能打算改用a.add(i, value)它,它將在給定索引處插入一個元素(并將列表擴展一項)。

在您的情況下,您要在索引 0 處插入,然后是 1 等,因此您可以簡單地使用a.add(value).


查看完整回答
反對 回復 2024-01-05
  • 1 回答
  • 0 關注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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