我正在尝试使用扫描仪在输入中输入字符串。 但它问我更多预期的字符串:不应该与此代码问5个字符串?扫描仪询问预期的更多字符串
public void go()
{
Scanner sc=new Scanner(System.in);
ArrayList<String> list=new ArrayList<String>();
String temp=new String();
Integer i=new Integer(0);
while(sc.hasNextLine() && i<5)
{
temp=sc.nextLine();
list.add(list.size(),temp);
i++;
}
}
如果我尝试运行它,它会在控制台停止输入前问我6个字符串。 但是我在开始的时候是零,在变成5之前它会增加5次。 那么当我5岁的时候,为什么它还会留在原地呢?
解决:两种方法都解决了这个问题。
这是怎么修复的? – 2012-02-18 22:08:11
@HovercraftFullOfEels如果我达到5,我会<5将是假的,并在调用sc.hasNextLine()之前结束while循环。已经有sc.hasNextLine在读取时进行读取。 – 2012-02-18 22:35:08
这解决了这个问题。 – 2012-02-19 19:26:51