【发布时间】:2020-07-16 17:29:00
【问题描述】:
这是我第一次来这里,我对在 Android Studio 上编码还很陌生。我正在尝试使用 for 循环填充 ArrayList,但我在 for 循环上的编码存在一些问题。我也不确定我必须显示什么信息。我认为问题可能是在循环中向数组添加变量。我的一些代码:
for (int i = 0; i < foodis.size() ; i++) {
if(beverage.get(i).getCalorie()>=(inputcalorie-100)&&beverage.get(i).getCalorie()<=(inputcalorie+100)){
foodtest=beverage.get(i).getFood();
calorietest=beverage.get(i).getCalorie();
Log.d("MyActivity","foodtest=" + foodtest);
Log.d("MyActivity","calorietest=" + calorietest);
foodis.add(new foodis(foodtest,calorietest));
Log.d("MyActivity","food=" + foodis.get(i).getFooddisplay());
Log.d("MyActivity","cal=" + foodis.get(i).getCaldisplay());
}
编辑:我用 csv 文件中的数据创建了一个 beveragearraylist(如下所示)
Coffee,0
Coffee With Milk,150
Milo,371
Milo 50% Less Sugar,140
Apple Juice,46
Orange Juice ,45
Milk,149
Low Fat Milk,110
类美食:
public class foodis {
public String fooddisplay;
public Double caldisplay;
public foodis(String fooddisplay, Double caldisplay) {
this.fooddisplay = fooddisplay;
this.caldisplay = caldisplay;
}
public String getFooddisplay() {
return fooddisplay;
}
public void setFooddisplay(String fooddisplay) {
this.fooddisplay = fooddisplay;
}
public Double getCaldisplay() {
return caldisplay;
}
public void setCaldisplay(Double caldisplay) {
this.caldisplay = caldisplay;
}
}
类饮料:
public class beverage {
private String food;
private Double calorie;
public String getFood() {
return food;
}
public void setFood(String food) {
this.food = food;
}
public Double getCalorie() {
return calorie;
}
public void setCalorie(Double calorie)
{
this.calorie = calorie;
}
@Override
public String toString() {
return "FoodSample{" +
", food='" + food + '\'' +
", calorie=" + calorie +
'}';
}
}
【问题讨论】:
-
我想澄清一下,当我将循环的上限更改为
foodis.size()时,循环根本不起作用。我以为foodis.size()初始值会是 0 。 -
foodis和beverage是什么数组?它们是如何初始化的? -
这里的意思不清楚。说
for (Beverage b: beverages)可能会简单得多,而不是试图以某种方式混合beverages的内容 和foodis的count。 -
我编辑了帖子并添加了一些与数组相关的代码。目前,我正在尝试通过 for 循环将来自
beverages的数据添加到foodis,但 for 循环不起作用。
标签: java android-studio arraylist