第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何使我的 sum 方法(在列表上使用 for 循環(huán))正常工作?

如何使我的 sum 方法(在列表上使用 for 循環(huán))正常工作?

繁星coding 2023-12-13 14:30:29
我正在編寫一個程序來計算 GPA 并打印成績單。我所創(chuàng)建的獲取學期平均績點總和的方法存在一些問題。這是相關代碼:    double sumGP;    ArrayList<Double> semesterGPs = new ArrayList<Double>();    public void getGPs(double aGP) {        semesterGPs.add(aGP);    }    public double getTotalGP() {        for(int i = 0; i <= this.semesterGPs.size(); i++)                                    sumGP = sumGP + this.semesterGPs.get(i);                                    return sumGP;   以下是 main 方法中使用的代碼塊,以及相關的 main 方法代碼:        Scanner letterGrade = new Scanner(System.in);            System.out.print("Enter the letter grade recieved if the course is completed, otherwise enter null: ");            aLetterGrade = letterGrade.next();            if ((aLetterGrade.contentEquals("a")) || (aLetterGrade.contentEquals("A"))) {                double aGPRecieved = 4.0;                //gradePoints.add(aGPRecieved);                aSemesterGrade.getGPs(aGPRecieved);                aTotals.getGPs(aGPRecieved);                System.out.println(aGPRecieved);            }aSemesterGrade.getTotalGP();我的 for 循環(huán)不斷拋出索引越界錯誤:Exception in thread "main" java.lang.IndexOutOfBoundsException: Index 1 out of bounds for length 1    at java.base/jdk.internal.util.Preconditions.outOfBounds(Unknown Source)    at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Unknown Source)    at java.base/jdk.internal.util.Preconditions.checkIndex(Unknown Source)    at java.base/java.util.Objects.checkIndex(Unknown Source)    at java.base/java.util.ArrayList.get(Unknown Source)    at realGPA/realGPA.SemesterGrades.getTotalGP(SemesterGrades.java:50)    at realGPA/realGPA.MainController.main(MainController.java:186)我已經打印出了 ArrayList“semesterGPs”中的信息,所以我知道該方法實際上是將信息添加到列表中,甚至是兩個或三個條目。我很困惑為什么索引超出范圍。
查看完整描述

2 回答

?
小怪獸愛吃肉

TA貢獻1852條經驗 獲得超1個贊

數組的長度比最終索引大1(索引從0開始)

public double getTotalGP() {
        for(int i = 0; i < this.semesterGPs.size(); i++)                        
            sumGP = sumGP + this.semesterGPs.get(i);                            
        return sumGP;

如果數組長度過N大,array[N]將觸發(fā)索引越界錯誤。


查看完整回答
反對 回復 2023-12-13
?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

在 中getTotalGP,你有i <= this.semesterGPs.size(). 然而,這是行不通的,因為什么時候i == this.semesterGPs.size(),this.semesterGPs.at(i)就會出界。將該條件更改為i < this.semesterGPs.size().



查看完整回答
反對 回復 2023-12-13
  • 2 回答
  • 0 關注
  • 202 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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