如何获取扫描仪创建的数组列表并调用它?

时间:2015-11-17 04:19:40

标签: java arrays arraylist java.util.scanner

  

我为我的措辞中的任何混淆道歉。

好的,我遇到了一个我正在为我的计算机科学课程工作的新项目的问题。这个问题是,我需要调用由用户输入(扫描仪)创建的字符串数组列表,并将其显示在模板类中。这个模板在我的基类中而不是包装器。

  

想想某人对某事的看法,然后将其插入一个比简单数组列表更好的形式。

以下是我一直试图无效的代码示例;

模板;

    public void RecipeDisplay(){
Recipe displayMethod = new Recipe(directions, recipeName, Determiner);
System.out.println("======================");
System.out.println("Recipe; " + displayMethod.getRecipeName());
System.out.println("======================");
System.out.println("Ingredients; " + displayMethod.getIngred());
System.out.println("Directions; " + displayMethod.getDirections());
System.out.println("Method Cooked; " + displayMethod.getDirections());
 }

Ingred是字符串的数组列表。

至于创建配方时的操作,我只使用.add方法。如何将我添加的成分添加到列表实例中,然后像在模板中一样显示它。

运行时显示为空白。

  

如果需要,请询问我

1 个答案:

答案 0 :(得分:0)

因此,如果您想以更方便的方式显示ArrayList的元素,您实际上有2个选项。

1。实现一个辅助方法,它迭代ArrayList并组成一个更好的String,例如。

private String composeIngredients(List<String> ingredients) {
    StringBuilder sb = new StringBuilder();
    for (String ingredient : ingredients) {
        if (sb.length() > 0) {
            sb.append(", ");
        }
        sb.append(ingredient);
    }
    return sb.toString();
}

并使用模板中的方法

System.out.println("Ingredients; " + composeIngredients(displayMethod.getIngred()));

2。创建一个新类,例如MyArrayList扩展了ArrayList并使用了ArrayList而不是原始的toString()。然后在该类中覆盖Enum.reduce方法,使其具有与上述方法非常相似的主体。然而,在我看来,这对你想要达到的目标来说太过分了,所以除非你真的想要,否则我不会进一步详细说明。