cmd编译java中文和符号打印报错问题

用window自带记事本写的JAVA总是在打印中文或者其他符号报错。

具体情况如下:

 //此为情况一,简单的打印:

//此为情况二部分可以部分不行:

三等奖可以但一等奖 二等奖 不可以,我只好写成英文的;奖票号码的码字也会有提示错误,我只能删去一个'码'字,真不知道以后写程序哪些行哪些不行。

实属崩溃,这种不起眼的错误,让人举步维艰。 

同一个一模一样的代码老师却可以正确运行,我的不行费很大劲排除困难。

上面对话框里运行的代码如下

import java.util.Scanner;
class Reward{
 public static void main(String[] args) {
    Scanner in=new Scanner(System.in);
    System.out.println("请输入奖票号:");
                String identity = in.next();
        if(identity.regionMatches(0,"f",0,1)){
            System.out.println("*一等奖奥迪Q5*");
        }
        else if(identity.regionMatches(0,"s",0,1)){
            System.out.println("*二等奖吉利博越*");
         }
        else if(identity.regionMatches(0,"t",0,1)){
            System.out.println("*三等奖奇瑞QQ*");
        }
        else{
            System.out.println("输入有误");
        }

    }
}

特别的强调:这并不是UTF-8与ANSI设置错误导致的乱码问题。

/*其他的:将打印内容全英语,是完全没有问题的,哎,这也说明当时第一个代码HelloWord为什么没有问题还觉得一切美好呢,但是我也不能都是打印英语,即便对英语提升有帮助,但是需要打印中文和一些其他!,。等标点符号在System.out.println("");里面的时候还是非常需要的。不解决真的不行,一筹莫展。*/

-----------------------分割线---------------------------------------------------------------

不知道打印怎样用连接符+,也会报错,多半异曲同工,都是这个问题,难啊,我只好将打印:"不存在"+num+",请重新输入!",生生得该换为:"不存在"+num

救救孩子吧。

猜测是你的控制台字符集编码有问题

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

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

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

2021.9win10部分软件乱码,取消 Beta 版:使用Unicode UTF-8提供全球语言支持 - yuhuizhao - 博客园 (cnblogs.com)就是这个问题!