日期:2014-05-20  浏览次数:20743 次

日文系统下Java无法编译中文注释
我的系统是日文的,
 只是一个最简单程序,因为程序中使用中文的注释,所以编译的时候报错,请指教怎样才能不报错?
 参看:
public class FloatTest


{
 public static void main(String[] args) 
 {
 float af = 5.2345556f;
 // 下面将看到af的值已经发生了改变
System.out.println(af);
 double a = 0.0;
 double c = Double.NEGATIVE_INFINITY;
 float d = Float.NEGATIVE_INFINITY;
 // 看到float和double的负无穷大是相等的。
System.out.println(c == d);
 // 0.0除以0.0将出现非数
System.out.println(a / a);
 // 两个非数之间是不相等的
System.out.println(a / a == Float.NaN);
 // 所有正无穷大都是相等的
System.out.println(6.0 / 0 == 555.0/0);
 // 负数除以0.0得到负无穷大
System.out.println(-8 / a);
 // 下面代码将抛出除以0的异常
// System.out.println(0 / 0);
 }
 }

之后的编译结果是这样的:

D:\Java\03\3.4>javac FloatTest.java
 FloatTest.java:18: エラー: この文字は、エンコーディングMS932にマップできません
// ???貎?????af???????????愠?????
 ^
FloatTest.java:25: エラー: この文字は、エンコーディングMS932にマップできません
// 0.0???0.0????????
 ^
FloatTest.java:25: エラー: この文字は、エンコーディングMS932にマップできません
// 0.0???0.0????????
 ^
FloatTest.java:27: エラー: この文字は、エンコーディングMS932にマップできません
// ????????萍????犒???
^
FloatTest.java:29: エラー: この文字は、エンコーディングMS932にマップできません
// ??????鋗????犒???
^
FloatTest.java:31: エラー: この文字は、エンコーディングMS932にマップできません
// ??????0.0?????????鋗?
 ^
FloatTest.java:31: エラー: この文字は、エンコーディングMS932にマップできません
// ??????0.0?????????鋗?
 ^
FloatTest.java:31: エラー: この文字は、エンコーディングMS932にマップできません
// ??????0.0?????????鋗?
 ^
FloatTest.java:33: エラー: この文字は、エンコーディングMS932にマップできません
// ???豢惲???????0?????
^
FloatTest.java:33: エラー: この文字は、エンコーディングMS932にマップできません
// ???豢惲???????0?????
^
FloatTest.java:33: エラー: この文字は、エンコーディングMS932にマップできません
// ???豢惲???????0?????
^
エラー11個

------解决方案--------------------
将源代码编码改为 UTF-8,编译的时候也加上相应参数,这样才能无视系统语言。
------解决方案--------------------
看最后一楼 http://bbs.csdn.net/topics/60383570

你的信息里说的是无法用MS932编码,然后跟了一堆乱码,估计日文系统默认编码是MS932?