这是代码:
ArrayList<DailyChallengesModelFinal> dailyList = new ArrayList<>();
int selectedItems = position;
Log.d("dbKEY", String.valueOf(exDBKey));
int sum = 0;
for (int i = selectedItems; i <=0; i++) {
int points = dailyList.get(position).getPoints();
sum = sum + points; }
我没有得到想要的结果。
例如,我想得到的数组有50,80和60,那么它应该将数组中的值相加。
答案 0 :(得分:1)
尝试此代码
int sum = 0;
for(int i = 0; i <=dailyList.size(); i++) {
dailyExerciseID = dailyList.get(i).getDcExerciseId();
dailyExerciseName = dailyList.get(i).getDcexerciseName();
points = dailyList.get(i).getPoints();
sum = sum + points;
}
答案 1 :(得分:0)
看看这个:
for (int i = selectedItems; i <=0; i++) {
i
的起始值为selectedItems
,我想这是一个正数。
将循环i <=0
增加i
时,您为循环停止设置的限制为i++
。
此for循环将永远不会执行。
更改起点和条件以停止。
如果要遍历整个列表,则:
for (int i = 0; i < dailyList.size(); i++) {
如果要遍历前selectedItems
个项目,则:
for (int i = 0; i < selectedItems; i++) {
答案 2 :(得分:0)
这将完成您的工作:
ArrayList<DailyChallengesModelFinal> dailyList = new ArrayList<>();
int selectedItems = position;
Log.d("dbKEY", String.valueOf(exDBKey));
int sum = 0;
for (int i = selectedItems; i > 0; i--)
{
int points = dailyList.get(i).getPoints();
sum += points;
}
答案 3 :(得分:0)
dailyList.subList(position, dailyList.size()).stream().map(DailyChallengesModelFinal::getPoint).reduce((p1, p2) -> p1 + p2).orElse(0);
答案 4 :(得分:-1)
我已经更新了您的代码。请检查一下。
int sum = 0;
for (int i = 0; i <dailyList.size(); i++) {
dailyExerciseID = dailyList.get(position).getDcExerciseId();
dailyExerciseName = dailyList.get(position).getDcexerciseName();
sum = sum + dailyList.get(position).getPoints();
}