使用循环为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添加多个对象的主要内容,如果未能解决你的问题,请参考以下文章

强烈求助!!JS 动态循环创建DIV

在Java中向对象添加多个元素

Java 基础面试

如何设置状态(数组)并验证使用循环添加的多个 TextInputs - 反应原生

js常用对象:点击双击onload事件鼠标相关onblur事件和onfocus事件等;通过循环给多个元素添加事件通过addEventListener() 方法 监听事件函数

c#或java如何用循环定义多个变量