今天被自己菜哭- -|因为不了解Scanner的特性
Scanner scan = new Scanner(System.in);
// 很简单,这里就是读取下一个输入的数字
int n = scanner.nextInt();
// 但是当我要读取下一行String可以直接nextLine()吗?
String s = scanner.nextLine();
System.out.println("n\t"+n);
System.out.println("s\t"+s);
不要这样做!
首先我们要有一个光标的意识
可以看到在输入一个数字后,main函数直接执行完跳出了。
这是因为在我们输入数字2时,光标还在2的后面,此时我们按下回车后,n被赋值为2。s读取光标所在位置后的一行,即\n换行符,所以s是为空的。。。
相信大家在笔试的时候很有可能会碰到这种问题,记录一下。。菜哭!