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

在测试户籍管理系统时,作者发现在IDE中使用Java读取中文字符串时会出现异常。当输入法设置为中文时,程序输出提示会被改变,而切换到英文输入法则能正常运行。此问题待解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上周测试户籍管理系统时,我偶然发现了一个问题,在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);

}

}

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

e17dc289b3e01bfe8e265e755802978f.png

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

e679279b5374ec983ed4c78b726d748e.png

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

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

dc45c68717507005b0242da3ef75519e.png

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

80aac038fcd109546729e891fbd4b725.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值