Java 使用Scanner类时字符串输入无法正常工作

Java 使用Scanner类时字符串输入无法正常工作,java,string,Java,String,我想从控制台获得3个字符串,然后打印值,我的问题是使用for循环从用户那里获得3个输入,但只接收并打印了2个输入值。这是我的代码 int rockSize=sc.nextInt(); String[] rock=new String[rockSize]; for(int i=0;i<rock.length;i++) rock[i]=sc.nextLine(); int rockSize=sc.nextInt(); 字符串[]岩石=新字符串[岩石尺寸]; 对于(int i=0;i您需要吞下

我想从控制台获得3个字符串,然后打印值,我的问题是使用for循环从用户那里获得3个输入,但只接收并打印了2个输入值。这是我的代码

int rockSize=sc.nextInt();
String[] rock=new String[rockSize];
for(int i=0;i<rock.length;i++)
rock[i]=sc.nextLine();
int rockSize=sc.nextInt();
字符串[]岩石=新字符串[岩石尺寸];

对于(int i=0;i您需要吞下输入数值后按下的
ENTER

e、 g

int rockSize=sc.nextInt();
sc.nextLine();//添加此
字符串[]岩石=新字符串[岩石尺寸];

for(int i=0;我谢谢你,但为什么我们需要加这一行?你能解释一下吗?@Mareeswaran-因为
nextLine()
留下了一个新行字符(当你按“回车”键时)。
nextLine()
会消耗它
int rockSize=sc.nextInt();
sc.nextLine();                         // add this
String[] rock=new String[rockSize];
for(int i=0;i<rock.length;i++)
rock[i]=sc.nextLine();