解决eclipse控制台不能正常输入问题的心路历程

解决eclipse控制台不能正常输入问题的心路历程

问题现象:
今天想把在个人电脑上可正常运行的Java代码在公司的电脑上继续写其他功能,新建了类之后直接将代码复制过去,检查没有任何错误后运行程序,但程序却在最初的Scanner控制台输入数据时就没办法正常输入,即输入数字控制台不显示,程序也没办法继续运行…

代码块:

			Scanner input = new Scanner(System.in);
			System.out.println("请选择电影序号:");
			int choose = input.nextInt();
			Movie currentMovie = movies.get(choose - 1);
			System.out.println("你选择了:" + movies.get(choose - 1).getName());

现象展示:
在这里插入图片描述
可以看到程序是在运行中的,但是鼠标的位置没有任何显示,有时候连续输入之后会突然显示出来,但是程序依然不能继续运行…
(可能聪明的你已经发现问题所在了,原谅这时候我还没看出来TT)

心路历程:

表示很懵,明明在自己电脑上运行没有任何问题…

肉眼检查了下代码没发现任何问题,尝试使用DEBUG调试,无果…

然后在暴力操作了一波之后发现程序莫名奇妙自己好了,没有改动任何地方,这个时候我觉得 emmm可能是神秘的东方力量吧…

不死心的我,很想探究一下这神秘的力量。。于是我把eclipse客户端关闭,又重新打开,嗯,果然程序又不行了…

在网上搜索了一通后,发现有一个说法比较靠谱:
“ 这是Eclipse软件中的输入bug,
就是当你在拼音输入法的情况下,输入的鼠标光标没有在要输入的位置上,
输入汉字时,就会出现刚才的情况,导致没法再次输入,
只要在输入的时候,将光标放在您要输入的位置,然后在输入就好了,
这个bug 只会在输入汉字时才会出现 ”


于是我检查了自己的环境发现:
1、虽然我不是要输入汉字,但确实我的控制台默认输入法是中文的;
2、我的上一行输出语句使用的是println,那么该行输出后,下一行才应该是控制台要输入的位置,但是我实际却直接将鼠标放到了该行的文字后面。

为了验证这个想法,我进行了如下测试:
1、运行程序前将输入法调为英文,再运行程序。
结果:程序可以正常运行,无论我是否手动移动光标所在位置,都可以正常输入。
光标默认在此处时直接输入:
在这里插入图片描述
输入正常:
在这里插入图片描述
手动将光标移动到错误位置
在这里插入图片描述
输入正常:
在这里插入图片描述
2、输入法为中文的情况下,将鼠标移动到正确位置。
在这里插入图片描述
输入正常,程序正常运行:
在这里插入图片描述
3、输入法为中文的情况下,修改上一条语句输出为print函数。

			System.out.print("请选择电影序号:");

将光标移动到上一行文字后输入,程序正常运行:
在这里插入图片描述
以上,验证了上面的说法,3种方法也都可以解决我的问题。

我的总结:
1、在不需要输入中文的情况下,控制台最好默认为英文输入法。
2、注意print和println函数的不同之处。

很有趣。

  • 20
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值