在实现字符窗口的输入时,我们都使用Scanner。
但是我在自己写程序时候,发现用Scanner实现字符串的时候,在i = nextInt()之后再使用s = nextLine(),就会产生录入了空的字符串;
我查了一些资料知道了原因:
因为nextInt()读取\r(回车)之前的内容作为int,遗留了\r,nextLine()自动读取了被nextInt()没有去掉的Enter作为他的结束符,所以没办法给下一个String键盘录入解决办法是:在第一个nextInt()语句后加一个nextLine()语句,将nextInt()遗留的Enter结束符过滤掉如:
int i=sc.nextInt();
sc.nextLine();
String s = sc.nextLine(); |
|