数组未在Java/Android中正确插入数据
我有一个方法:数组未在Java/Android中正确插入数据,java,android,arrays,loops,Java,Android,Arrays,Loops,我有一个方法: public double getCombinedAprThisMonth() { Cursor c = database.rawQuery("SELECT * FROM debt;", null); double totalMonthlyFee = 0; double SingleAprRate = 0; double[] storeFees; int rows = c.getCount(); storeFees = new
public double getCombinedAprThisMonth() {
Cursor c = database.rawQuery("SELECT * FROM debt;", null);
double totalMonthlyFee = 0;
double SingleAprRate = 0;
double[] storeFees;
int rows = c.getCount();
storeFees = new double[c.getCount()];
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
for (int i = 0; i < rows; i++) {
String BalColumn = c.getString(c
.getColumnIndex("debt_total"));
String AprColumn = c.getString(c.getColumnIndex("apr"));
double aprColumn = Double.valueOf(BalColumn);
double balColumn = Double.valueOf(AprColumn);
SingleAprRate = (((aprColumn / 100) / 12) * balColumn);
storeFees[i++] = SingleAprRate;
}
}
for(double i : storeFees) {
totalMonthlyFee += i;
}
c.close();
return totalMonthlyFee;
}
public-double-getCombinedAprThisMonth(){
游标c=database.rawQuery(“SELECT*FROM debt;”,null);
双倍合计月费=0;
双单平均利率=0;
双重收费;
int rows=c.getCount();
storeFees=新的双精度[c.getCount()];
for(c.moveToFirst();!c.isAfterLast();c.moveToNext()){
对于(int i=0;i
有三个记录,所以应该发生三个循环。
totalMonthlyFee返回为90。然而,数据分别为8.33、45和45。我正试图得到它的总和(98.33应该是正确的,但我得到了90?)。有人看到这里在干什么吗?再想想,如果我明白你在做什么,我认为你根本不需要内环。也许试试这个
int j = 0;
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
String BalColumn = c.getString(c
.getColumnIndex("debt_total"));
String AprColumn = c.getString(c.getColumnIndex("apr"));
double aprColumn = Double.valueOf(BalColumn);
double balColumn = Double.valueOf(AprColumn);
SingleAprRate = (((aprColumn / 100) / 12) * balColumn);
storeFees[j++] = SingleAprRate;
}
再想想,如果我明白你在做什么,我认为你根本不需要内环。也许试试这个
int j = 0;
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
String BalColumn = c.getString(c
.getColumnIndex("debt_total"));
String AprColumn = c.getString(c.getColumnIndex("apr"));
double aprColumn = Double.valueOf(BalColumn);
double balColumn = Double.valueOf(AprColumn);
SingleAprRate = (((aprColumn / 100) / 12) * balColumn);
storeFees[j++] = SingleAprRate;
}
当您已经将循环体作为循环的一部分递增时,不要在循环体中递增i。当您已经将循环体作为循环的一部分递增时,不要在循环体中递增i。谢谢。这就是我需要的+谢谢你。这就是我需要的+1.