java.lang.IndexOutOfBoundsException:將單個(gè)值添加到第一個(gè) arrayList 時(shí)發(fā)生錯(cuò)誤,以便執(zhí)行前綴平均值,以便 A 的值通過以下方式計(jì)算我想指出,在此算法中使用數(shù)組是有效的,但是當(dāng)嘗試切換到數(shù)組列表時(shí),是否會(huì)出現(xiàn)問題。數(shù)組 A A[i] 的內(nè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); 開始 那沒有幫助。然后嘗試設(shè)置 a[i] 的內(nèi)容與 s/(i+1) 的結(jié)果仍然無濟(jì)于事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; }}我預(yù)計(jì)隨著 A 指數(shù)的增加,平均尺寸也會(huì)增加
1 回答

慕慕森
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
List::set
將現(xiàn)有元素設(shè)置為新值。在您的情況下,a
是一個(gè)空列表,因此您不能使用該方法(或者您會(huì)收到異常)。
您可能打算改用a.add(i, value)
它,它將在給定索引處插入一個(gè)元素(并將列表擴(kuò)展一項(xiàng))。
在您的情況下,您要在索引 0 處插入,然后是 1 等,因此您可以簡單地使用a.add(value)
.
添加回答
舉報(bào)
0/150
提交
取消