201671010127 2016-2017-11 从键盘读入中文字符串遇到的问题

  上周测试户籍管理系统时,我偶然发现了一个问题,在IDE下运行该程序时,如果输入为中文字符串时会遇到一些问题。下面我就以一个简单的程序来演示该问题:

  首先我先写一个从键盘读入一个中文字符串,然后输出该字符串的程序,代码如下:

  import java.util.Scanner;

  public class Demo
  {

    public static void main(String[] args)
    {
      Scanner in=new Scanner(System.in);
      String t=new String();
      System.out.println("请输入一个字符串");
      t=in.nextLine();
      System.out.println(t);
    }

  }

  接下来我先将输入法调成中文状态,截图如下:

  

  接着运行该程序,截图如下:

  

  此时在输入时会产生如上图所示的错误,会将输出的提示都改变。

  然而,当我将输入法调成英文状态时,截图如下:

  

  再次运行该程序,截图如下:

  

  此时程序错误完全没有了,我特向大家请教其中的缘由,希望各位园友指教,谢谢大家!

原文地址:https://www.cnblogs.com/nbq520/p/7787172.html