【发布时间】:2021-11-12 12:35:57
【问题描述】:
我正在尝试学习 oop,但找不到解决问题的方法。在这种情况下,我想将多个食物对象插入到数组列表中。我期望的结果是,当我将例如 3 输入限制器时,它应该打印我之后输入的任何内容,而不是在索引 0 上创建某种额外的对象作为空白。
当前输出:
3
fried chicken
burger
[food: , food: fried chicken, food: burger]
Process finished with exit code 0
预期的输出应该是:
3
fried chicken
burger
sushi
[food: fried chicken , food: burger, food: sushi]
Process finished with exit code 0
这里是主要的:
package FoodRecommendation;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
ArrayList<food> arrayList = new ArrayList<>();
int limiter = in.nextInt();
for (int j = 0; j < limiter ; j++) {
arrayList.add(new food(in.nextLine()));
}
System.out.println(arrayList);
}
}
这是食物:
package FoodRecommendation;
public class food {
private String food;
public food(String food) {
this.food = food;
}
public String getFood() {
return food;
}
@Override
public String toString() {
return "food: " + this.food;
}
}
我确实知道为什么会发生这种情况,这是因为当“(new food(in.nextLine()))”被插入到循环中时,它总是在索引 0 上创建一个空白。但我就是不能找不到解决方法。我希望有人可以帮助我:D
【问题讨论】:
-
@GriffeyDog 哦,是的,我找到了解决方案,谢谢:D