使用循环为java添加多个对象
Posted
技术标签:
【中文标题】使用循环为java添加多个对象【英文标题】:Adding multiple objects with loop for java 【发布时间】: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
【问题讨论】:
***.com/questions/13102045/… @GriffeyDog 哦,是的,我找到了解决方案,谢谢:D 【参考方案1】:或者你可以这样做,像这样将限制器值解析为整数
int limiter = Integer.parseInt(in.nextLine());
输出:
3
炸鸡
汉堡
寿司
[食物:炸鸡,食物:汉堡,食物:寿司]
【讨论】:
【参考方案2】:试着放
in.nextLine();
之后
int limiter = in.nextInt();
在您的代码中。您的代码中的第一个只是将 "" 作为输入。
【讨论】:
好的,谢谢。出于某种原因,我怀疑这一点,但我输入了.nextLine();进入非常愚蠢的循环以上是关于使用循环为java添加多个对象的主要内容,如果未能解决你的问题,请参考以下文章
如何设置状态(数组)并验证使用循环添加的多个 TextInputs - 反应原生
js常用对象:点击双击onload事件鼠标相关onblur事件和onfocus事件等;通过循环给多个元素添加事件通过addEventListener() 方法 监听事件函数