我想要做的就是向用户询问一些字符串来读取到一个数组,然后要求用户输入这个数字字符串,并将其读入数组。当我运行这段代码时,它永远不会要求输入第一个for循环的第一个循环,只是输出“String#0:String#1:”,然后我可以输入文本。为什么是这样,我做错了什么?为什么这个for-loop让我在第一个循环输入文本?
import java.util.Scanner;
public class ovn9
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.print("Number of inputs: ");
int lines= sc.nextInt();
String[] text=new String[lines];
for(int x=0; x<text.length; x++)
{
System.out.print("String #"+x+": ");
text[x] = sc.nextLine();
}
for(int y=0; y<text.length; y++)
System.out.println(text[y]);
}
}
好回答+1 :) – 2009-11-29 12:45:12
谢谢你,创造了奇迹。我想我理解你的意思,尽管我不熟悉输入缓冲区。 – Andreas 2009-11-29 13:38:06