代码:
import java.util.Scanner;
类的演示{
公共静态无效的主要(字符串[] args)
{ / * 读取第一个整数和第二行字符串* / 扫描仪s =新的扫描仪(System.in); int a = s.nextInt(); 的System.out.println( “读取第一个整数:” + A); 字符串b = s.nextLine(); 的System.out.println( “读取1字符串:” + B); }
}
我们键盘输入:1,然后回车。
控制台输出:
我们可以看到,String b = s.nextLine();这条语句仿佛没有执行。我们修改下代码如下:
import java.util.Scanner;
类的演示{
公共静态无效的主要(字符串[] args)
{ / * 读取第一个整数和第二行字符串* / 扫描仪s =新的扫描仪(System.in); int a = s.nextInt(); 的System.out.println( “读取第一个整数:” + A); String c = s.nextLine(); //修改语句String b = s.nextLine(); 的System.out.println( “读取1字符串:” + B); }
}
键盘输入:1,回车,qweqweq,回车
控制台输出:
对比可以发现,修改后,控制台能够正常输出,那么原因是什么呢?我认为是第一段代码中String b = s.nextLine();直接读取了回车操作,才导致了第一种情况的结果,修改后,则不会出现。