Java不能识别System.in键盘输入的中文,如何解决?

 import java.util.Scanner;
class Test{
public static void main(String[] args){

    Scanner input = new Scanner(System.in);
        System.out.println("请输入你的身高: (cm)");
         int height = input.nextInt();
        System.out.println("请输入你的财富: (千万)");
         double wealth = input.nextDouble();
         System.out.println("请输入你是否帅: (是/否)");
         String isHandsome = input.next();
         if(height > 180 && wealth >1 && isHandsome.equals("是")){
            System.out.println("我一定嫁给他!!!");
         }else if(height > 180 || wealth > 1 || isHandsome.equals("是")){
             System.out.println("嫁吧,比上不足,比下有余");
         }else{
            System.out.println("不嫁!!!");
         }
}

}
把"是"换成"yes"都可以,输入:是,结果还是:不嫁 请问如何解决 之前配置环境变量 Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 还改了 Active code page: 65001 别的都可以正常运行只是不能识别输入的中文

你输入的都符合你判断的条件吗

应该不是这个问题吧,否则至少也是执行第11行啊

看着没毛病啊,是不是你输入的条件不符合,或者你打断点看看

img

好像没问题

 

没有问题吧

img

代码运行没有问题哦。能够符合预期,估计是你环境的问题。

img

把你的运行图片发下

肯定其他条件不符合,如果只有 是 ,也会执行11行的代码

你的代码修改之后保存再运行;
或者用newtLine试试

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632