从循环中获取价值

时间:2012-10-25 12:45:25

标签: java android

我正在尝试修改以下代码以满足我的简单应用程序需求。由于我是初学者,有时很难为profi家伙找到一些明显的东西。我想得到总和+ = p.price;离开循环,因为当我第二次点击按钮时它会使结果翻倍。我知道:是条件运算符,但不能得到这个语句的含义(Product p:boxAdapter.getBox())。可能如果有人会解释或转移到do ..虽然很容易理解。

public void showResult(View v) {

    String result = "Items in the basket: ";
    String sum_text = "For the sum: ";

    for (Product p : boxAdapter.getBox()) {

        if (p.box) {
            result += "\n" + p.name + "   " + p.price;
        }

        sum += p.price;

    }

    Toast.makeText(this, result, Toast.LENGTH_LONG).show();
    Toast.makeText(this, sum_text + sum, Toast.LENGTH_LONG).show();
}

抱歉,打扰简单的问题。

2 个答案:

答案 0 :(得分:1)

for (Product p : boxAdapter.getBox())

这个循环将遍历,boxAdapter.getBox()Product类型的集合,将每个实例存储到p中,转换为简单的for循环,将其更改为:

for(int i=0; i<boxAdapter.getBox().size(); i++)
{
    Product p=boxAdapter.getBox().get(i);
}

答案 1 :(得分:0)

for (Product p : boxAdapter.getBox())表示您在boxAdapter.getBox()的结果中迭代每个Product对象。

如果boxAdapter.getBox()例如返回包含2个Product对象的列表,则循环将执行2次,第一次p将成为列表中的第一个项目,第二次是第二个项目来自列表清单。