我需要存储来自一个 Activity 的多个用户数据输入,并使用 Intent 将数据传递到另一个 Activity 。所以我想到使用一个数组来存储这些值并添加总计数组来显示总计
我尝试增加 int i ,但是当我 toastmessage i 的值时,它停留在 0
int size = 1000;
int i;
String myArray[] = new String[size];
for(i=0;i<size;i= i + 1){
int sum = 0;
Intent mIntent = getIntent();
int intValue = mIntent.getIntExtra("CALORIE", 0);
sum = sum + intValue;
if(sum !=0) {
myArray[i] = String.valueOf(sum);
ToastMessage(String.valueOf(i));
getIntent().removeExtra("CALORIE");
}
}
我试图让它增加,这样我就可以在不同的数组中存储不同的值
最佳答案
你的循环没有意义。
用这一行:
int intValue = mIntent.getIntExtra("CALORIE", 0);
您可以使用“CALORIE”键
获得额外的费用。
-如果此 extra 不存在,则 intValue
获取默认值 0
并且 sum
保持等于 0
,因此 if
的条件为 false
并且循环继续进行下一次迭代,在该迭代中您再次检查不存在的相同 Intent 的相同 extra!
因此,直到 1000 次的迭代都什么都不做。
- 如果此额外项存在且其值不是 0
,则 if
的条件为 true
,并且在 if
block 内,您从 Intent 中删除该额外项。
因此,接下来的所有迭代都会检查不再存在的额外内容,并且不会执行任何操作。
我相信您必须重新思考代码的逻辑,因为不清楚您想要实现的目标。
无论如何,这都不是正确的做法。
关于java - For循环卡在0处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57130340/