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条)

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?