我的系统是日文的,
只是一个最简单程序,因为程序中使用中文的注释,所以编译的时候报错,请指教怎样才能不报错?
参看:
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?