java - For循环卡在0处

标签 java android

我需要存储来自一个 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/

相关文章:

java - 如何为基于 json 的插件设置 'docker plugin install'

android - 如何预填充 Edittext?

android - 如何以编程方式添加联系人

android - AsyncTask 和 JSON,onSuccess 不返回任何内容

java - twoSum 算法 : How to improve this?

java - 运行 Ant 脚本时出现代理问题

java - 从另一个具有相同锁的同步块(synchronized block)调用同步块(synchronized block)

java - Firebase Android 使用日期作为唯一 ID 保存数据

java - 如何添加 AdMob 广告?

java - JTextField.setText() 不能作为数组在方法中工作