Java 复制/粘贴时,是否可以扫描多行输入,每行都是数组中的新元素?

Java 复制/粘贴时,是否可以扫描多行输入,每行都是数组中的新元素?,java,arrays,input,java.util.scanner,Java,Arrays,Input,Java.util.scanner,试图通过scanner.nextLine函数用输入填充数组。问题规范给出了如下示例输入: 3 5 4 abc bca dac dbc cba (ab)(bc)(ca) abc (abc)(abc)(abc) (zyx)bc 正如我复制并粘贴整个块到这个框中一样,我也希望对我的代码执行同样的操作,但是当我尝试时,代码只读取最后一行。我希望每一行都被读入并存储在数组中它自己的索引中,而不是一个索引中的多行字符串,或者只读入并存储最后一行,这就是现在正在发生的事情 这是我初始化数组的方法,我已经测试

试图通过scanner.nextLine函数用输入填充数组。问题规范给出了如下示例输入:

3 5 4
abc
bca
dac
dbc
cba
(ab)(bc)(ca)
abc
(abc)(abc)(abc)
(zyx)bc
正如我复制并粘贴整个块到这个框中一样,我也希望对我的代码执行同样的操作,但是当我尝试时,代码只读取最后一行。我希望每一行都被读入并存储在数组中它自己的索引中,而不是一个索引中的多行字符串,或者只读入并存储最后一行,这就是现在正在发生的事情

这是我初始化数组的方法,我已经测试过了,当我一行一行地输入时,它可以工作,但是说实话,这真的很烦人

public static void initialize_array(String [] arr)
{
    Scanner kbreader = new Scanner(System.in);

    for (int i = 0 ; i < arr.length ; i++)
    {
        arr[i] = kbreader.nextLine();
        System.out.println("this is just loading in: " + arr[i]);
    }
}
当我运行程序时,它也会在顶部输入3个整数,我打印它们只是为了测试它们,但这并不重要,它只注册最后一行

截图:

我想我在C中做过类似的事情,但这可能是因为我使用了scanf,而C的级别相对较低,所以它必须遍历整个块

这可能不可能,但我想我会要求看看


另外,你要知道这是为了练习,不是实际的评分作业或任何重要的事情,所以不要隐瞒任何事情

这可能有失偏颇,但您是否尝试过仅使用array.addscanner.next并循环直到scanner.hasNext返回false?

如果您知道数组的确切长度,则这将起作用:

Scanner scn = new Scanner(System.in);
scn.useDeliminator("\n");
for (int i = 0 ; i < arr.length ; i++)
{
    arr[i] = scn.next();
    System.out.println("this is just loading in: " + arr[i]);
}

这里的关键是useDeliminator方法调用。下一个方法从流中读取数据,直到到达除沫器模式。在本例中,它是\n新行。请使用操作系统的新行字符。

如何调用initialize\u arraysting[]arr方法,以及arr的值是多少