看起来是编码问题,它乱码了。
建议尝试:在运行的命令中添加编码参数。
使用以下命令:
java -Dfile.encoding=GBK JianJie 或者 java -Dfile.encoding=GB2312 JianJie 或者
java -Dfile.encoding=GB18030 JianJie 或者java -Dfile.encoding=UTF-8 JianJie
一般文件编码会在这几个之中。
2. 保存为UTF-8编码。
在记事本中保存的时候手动选择编码,如果没有UTF8,你可以选择Unicode,这是早期记事本的utf8选项。哦,对了,然后在javac编译一下。
JVM编码的补充:
-Dfile.encoding需要在运行的时候使用,如图:
此部分不需要加在记事本(Java代码)中。
乱码的原因说明:
编码是数值和字符显示形态的对应关系,例如,ASCII中:0的十进制数值是48,空格的十进制数值是32,但是如果有其他编码,这样的文本和数值的对应关系可能是不一样的,当然,因为计算机最早是英文的,因此英文和数字还有一些特殊符号值一般不会出现错误,而中文是后来才加入的,因此同一个中文,在不同编码中对应的数值不一样,如果你使用了UTF8编码,而使用GBK解码,那么GBK中汉字对应的值和汉字的形状的对应关系是和UTF8不同的,所以这种时候你就会看到乱码。
java会读取一个名字叫做file.encoding的配置来确定使用的编码,而Windows下这个编码通常是GBK,而你使用了UTF8作为编码,但是系统却使用GBK读取,那么这样乱码就出现了,只要保持读取编码和保存编码一致,就可以避免乱码问题。