NEKO!
2021-05-01 16:48
采纳率: 66.7%
浏览 85
已采纳

Java使用Scanner输入中文时的问题

今天用java写文件编辑的时候发现Scanner无法读取中文

然后我写了一段代码测试下

import java.util.Scanner;

public class text {
    public static void main(String[] args){
        Scanner in=new Scanner(System.in,"UTF-8");
        while(true){
            String s=in.nextLine();
            if("//".equals(s)) break;
            System.out.println(s);
        }
        in.close();
    }
}

无论怎样print都只是输出一串问号

目前就知道是编码问题,但是解决方法还不知道,希望大佬指点一下

:)

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • 已采纳

    Scanner in=new Scanner(System.in,"UTF-8");

    改为

    Scanner in=new Scanner(System.in);

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • CSDN专家-三岁丫 2021-05-01 17:30

    猜测是控制台编码问题

    评论
    解决 无用
    打赏 举报
  • NEKO! 2021-05-01 16:49

    补充一下,代码里UTF-8那里其他的我也试过了,结果一样的出错

    评论
    解决 无用
    打赏 举报
  • i__0o0__ 2021-05-01 17:38

    那应该是你的工程环境问题吧,工程是utf8编码的吗

    评论
    解决 无用
    打赏 举报
  • 有问必答小助手 2021-05-04 22:04

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    评论
    解决 无用
    打赏 举报
  • NEKO! 2021-05-04 23:23

    5月4日补充 问题已解决,开始我认为是代码使用有误,但后来确定了代码是准确的,我一直使用VS Code写代码,这次出错后我尝试用eclipse运行了一下,竟然成功输入了中文。 所以问题出在了VS Code上,经过几个小时的折腾,我找到了解决方法,修改了VS Code的默认编码然后改了项目调试配置文件后问题解决了

    评论
    解决 无用
    打赏 举报
  • 有问必答小助手 2021-05-06 16:07

    非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

    速戳参与调研>>>https://t.csdnimg.cn/Kf0y

    评论
    解决 无用
    打赏 举报