首页 > 解决方案 > 在数组中打印用户输入显示为空

问题描述

我正在尝试从数组打印用户输入以在 java 中显示。当我运行它时,无论用户输入什么,它都会为每个金额打印出“null”。我是 java 的初学者,想了解更多关于数组的知识,但我似乎无法弄清楚这一点。

String itemAmount = ss.getInputString("How many items?");
    int amount = Integer.parseInt(itemAmount);

    String[] Items = new String[amount];
    for (int i = 0; i < Items.length; i++) {
        ss.getInputString("Please enter items?");

    }
    for (int i = 0; i < Items.length; i++) {
        ss.println((Items[i]));
    }

另外,我将如何打印这些项目,例如用户输入 3 个项目->“鸡蛋”、“培根”、“番茄”我将如何打印它以显示在逗号分隔的行中。

标签: java

解决方案


我不确定是什么gt,但既然你用这种方式

String itemAmount = gt.getInputString("How many items?");

我想这是标准输入的某种包装。

您可以使用相同的方式填充数组,一次一个项目。

for (int i = 0; i < Items.length; i++) {
    Item[i] = gt.getInputString("Please enter items?");
}

您似乎可以在另一个循环中使用该数组,所以我假设您不需要进一步解释。

然后将它们打印在一行上,用逗号分隔,您可以使用的join方法String(注意:您需要首先将数组转换为 a List

String joinedString = String.join(", ", Arrays.asList(Items));

推荐阅读