在java中从扫描器读取输入到字符串数组

在java中从扫描器读取输入到字符串数组,java,arrays,string,java.util.scanner,Java,Arrays,String,Java.util.scanner,我试图从扫描器获取输入,并将值分配到一个字符串数组中,循环必须运行3次,因为它只需要两个输入。有人能解释一下为什么不使用3个输入并显示相同的内容吗 import java.util.Arrays; import java.util.Scanner; public class DimentionalArray { public static void main(String[] args) { Scanner sc = new Scanner(System.in);

我试图从扫描器获取输入,并将值分配到一个字符串数组中,循环必须运行3次,因为它只需要两个输入。有人能解释一下为什么不使用3个输入并显示相同的内容吗

import java.util.Arrays;
import java.util.Scanner;

public class DimentionalArray {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int size = sc.nextInt(); // ex, if size is 3 
        String[] str = new String[size];

        for (int i = 0; i < str.length; i++) {
            str[i] = sc.nextLine(); 
        }
        Arrays.stream(str).forEach(e -> {System.out.println(e);});
    }
}
导入java.util.array;
导入java.util.Scanner;
公共类维度数组{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
int size=sc.nextInt();//ex,如果大小为3
字符串[]str=新字符串[大小];
对于(int i=0;i{System.out.println(e);});
}
}
比如说。 我的意见是

3 //size 1 2 // 1st input 3 4 //2nd input 4 5 // 3rd input 3/尺寸 1 2//1次输入 3 4//2次输入 4 5//3次输入 但它没有读取输入,在读取第二个输入(3 4)后关闭。 谁能解释一下为什么这不是第三个元素。

只需添加

sc.nextLine(); 
在int size=sc.nextInt()之后

可能重复的