gpt4 book ai didi

Java/Android : ArrayIndexOutofBoundsException

转载 作者:行者123 更新时间:2023-12-01 17:31:14 26 4
gpt4 key购买 nike

我有一张充满计算的表格。每行包含基于个人债务的数字。例如:

第 1 行:债务 1(名称)、7.9(年利率)、1000(余额)、20(最低付款);

第 2 行:债务 2(名称)、9.9(年利率)、2000(余额)、40(最低付款);

等等..

此测试中有 6 行。我正在使用一些数组进行一些循环,并且收到上述错误(在标题中)。

05-17 18:31:47.548: E/AndroidRuntime(2019): Caused by: java.lang.ArrayIndexOutOfBoundsException: length=6; index=6

这很奇怪,因为长度是 6?

这是整个方法:

 public int payoffDebt(Double totalDebt) {
Cursor c = database.rawQuery("SELECT * FROM debt;", null);
int monthTotal = 0;
double interestFee = 0;
double interestFeeTotal = 0;

String indBal[] = new String[c.getCount()];
String indPay[] = new String[c.getCount()];
String indApr[] = new String[c.getCount()];
double totalBal[] = new double[c.getCount()];
double totalInterestFees[] = new double[c.getCount()];
int rowCounter[] = new int[c.getCount()];

int j = 0; int k = 0;
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
// get individual Bal, APR percent, Payment, store into three arrays;
indBal[k++] = c.getString(c.getColumnIndex("debt_total"));
indPay[k++] = c.getString(c.getColumnIndex("payment"));
indApr[k++] = c.getString(c.getColumnIndex("apr"));
rowCounter[k++] = k;
}
c.close();

while (totalDebt >= 0) {

for (int i : rowCounter) {
interestFee = (((Double.valueOf(indApr[i]) / 100) / 12) * Double
.valueOf(indBal[i]));
totalDebt = totalDebt
- (Double.valueOf(indPay[i]) - interestFee);
interestFeeTotal += interestFee; // sum of all Apr Fees CURRENT
// month in while loop
}

totalBal[j++] = totalDebt; // record total debt for this after all
// payments
totalInterestFees[j++] = interestFeeTotal; // record total interest
// fees for this month
// from all debt

// Increment month
monthTotal += 1;

}
return monthTotal;

问题出在第 165 行:

indApr[k++] = c.getString(c.getColumnIndex("apr"));

最佳答案

Java 数组从 0 开始,而不是 1。这意味着数组的第一个元素使用 array[0] 访问,第二个元素使用 array[1] 访问,因此,要访问数组的最后一个元素,请使用 array[array.length - 1]。使用 array[array.length] 是一个索引越界,因此出现异常。

关于Java/Android : ArrayIndexOutofBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10645657/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com