使用Scanner进行汉字录入时遇到的问题

666 查看

问题描述: 在使用Scanner类从控制台进行信息录入的时候,使用类下的next()方法进行录入,发现在使用英文状态下进行输入的时候,录入不会出错,程序能顺利进行。而,如果使用中文进行录入的话,会出现 使用回车 不能结束单次录入的现象。具体看以下图片。


首先先贴一下代码,因为只是调用了这个testPut()方法,因此只贴一下这段代码。
代码内容


下面是控制台信息
经过自己的测试发现,有以下集中情况:
1、全过程使用英文状态下录入,完全没有问题。
2、如果使用中文进行录入,但是自己手动将光标移动到显示录入的地方,录入也能够正常进行。
3、单纯使用 回车键 (即,不使用方向键进行光标移动处理)对单次录入进行分割,在使用中文进行录入的时候会出现录入出错的情况。出现在输入数字后(ID),回车无法结束本次录入,只用在继续输入汉字后回车才能结束。
下面,分别对第二种和第三种情况进行贴图
第二种情况(1)--

第二种情况(2)--在手动将光标移到输入行的时候,录入汉字是没有什么问题的
第三种情况下的控制台输出