为了账号安全,请及时绑定邮箱和手机立即绑定

令人蛋疼的Scanner类

令人蛋疼的Scanner类

撒科打诨 2019-03-20 14:15:27
不得不承认Scanner类对英文输入支持是非常好的!但是针对中文输入,Scanner的传说中的阻塞问题就出来了!请看下面的小程序:import java.util.Scanner;public class Test {public static void main(String [] args) {     new Test().start(); } public void start() {     Scanner sc = new Scanner(System.in);     while(true) {         System.out.println("请输入用户名:");         String name = sc.next();         System.out.println("name = " + name);         System.out.println("继续输入吗?(y/n)");         String sure = sc.next();         if(sure.equals("y")) {             continue;         } else {             sc.close();             return;         }     } }}请复制运行,然后到判断继续输入吗?(y/n)的时候,一定要继续用搜狗输入法,并且不要切换到英文输入模式下就会看到如图所示的情况下,一直卡死。我想这肯定是next()方法里面的readInput()方法导致的!可是,这怎么解决呢?如果这样接受输入的话,势必影响用户的心情!请恕小弟愚昧,实在找不到解决之法,请指教!
查看完整描述

2 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

在Scanner中要输入字符串的话是要用Scanner.nextline()方法的,表示接受字符串


查看完整回答
反对 回复 2019-04-28
  • 2 回答
  • 0 关注
  • 463 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信