我正在尝试修改以下代码以满足我的简单应用程序需求。由于我是初学者,有时很难为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();
}
抱歉,打扰简单的问题。
答案 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
将成为列表中的第一个项目,第二次是第二个项目来自列表清单。