sddtlm8 2015-10-29 12:59 采纳率: 68%
浏览 3359
已采纳

eclipse使用的时候我在控制台输入文本,有时候正常有时候出错,老师说是光标问题,但真心不懂啊

有时候输入是正常的,而且为了避免文本本身的问题,我用固定的文本来测试,但奇怪的是
有时候正常,有时候就报各种错误,输入的时候文本并没有变绿,而是很正常的输入的那种
但结果总是正常不正常的,问了下人,说是在汉字输入的时候和英文不时光标定位的事,但没听懂
请问大神们是怎么解决的呢

  • 写回答

3条回答 默认 最新

  • Rocket-Snail 2015-10-29 13:29
    关注

    因为每个汉字编码是两个字节,而标准输入System.in是字节流,这样就会造成程序中对字符接收的不完全,此时应使用BufferedReader类来对输入的数据进行缓存,在输入回车后,再将数据取出。具体代码如下:
    String input = null;
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    input = br.readLine();
    这样的输入方式才是最标准的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services