A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 爱雪、却怕冷 中级黑马   /  2013-12-30 02:08  /  1210 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class lrx   
{
public static void main(String[] args)
{
  int x=7;
  
  switch(x)
  {
   case 4:
    System.out.println("a");
    break;
   case 5:
    System.out.println("b");
    break;
   case 6:
    System.out.println("c");
    break;
   case 1:
    System.out.println("d");
    break;
   default:
    System.out.println("我爱你黑马");
    break;
  }  
}
}
   代码是这样的。    System.out.println("我爱你黑马");写中文马上报错 写英文就不会报错、希望各位老师指导下。下面是报错原因。
E:\1>javac 520.java
520.java:22: 错误: 编码GBK的不可映射字符
                                System.out.println("鎴戠埍浣犻粦椹?);
                                                           ^
520.java:22: 错误: 未结束的字符串文字
                                System.out.println("鎴戠埍浣犻粦椹?);
                                                   ^
520.java:22: 错误: 需要';'
                                System.out.println("鎴戠埍浣犻粦椹?);
   

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

3 个回复

倒序浏览
这个我没有记错的话好像是因为在编译阶段JAVA虚拟机默认了一个用GBK编码的机制,但是编译中文的时候需要用到UTF-8编码,你可以使用-encoding加编码类型来使得它强制转换成UTF-8的编码,编译的时候输入javac -encoding UTF-8 **(你的类名).java,然后应该就可以了,也可以到classpath的路径下去修改:-encoding UTF-8 -classpath "$[ClassPath]" -d "$[OutputPath]" $[ModJavaFiles]。如果你用eclipse,你也可以到Configure --> Options --> JDK Tools --> Compiler里面去吧default的设置加一个UTF-8的编码方式,试试看?

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
谢谢 谢谢 非常感谢 解决了一个大问题。
回复 使用道具 举报
zy1349 发表于 2013-12-30 11:42
这个我没有记错的话好像是因为在编译阶段JAVA虚拟机默认了一个用GBK编码的机制,但是编译中文的时候需要用 ...

谢谢 谢谢 非常感谢 解决了一个大问题。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马