代码:public class exercise {
public static void main(String[] args) {
exercise ex=new exercise();
for (int i=0x03901; i<03d0e;i++)
{
System.out.println((char)i);
}
}}
打出来一堆“?”。
是不是我的unicode编码找错了?
i的值可以不用10进制的吗?
我怎么才能打印出我想要的希腊字母?

解决方案 »

  1.   

    public static void main(String[] args) throws IOException {
        Writer out = new OutputStreamWriter(new FileOutputStream("D:/sc.txt"), Charset.forName("UTF-8"));
        for (char i = '\u0391'; i < '\u03A9'; i++) {
            out.append(i);
        }   
        out.append('\r');
        out.append('\n');
        for (char i = '\u03B1'; i < '\u03C9'; i++) {
            out.append(i);
        }
        out.flush();
    }
      

  2.   

    i的值可以不用10进制,
    public class exercise {
    public static void main(String[] args) throws IOException {
    for (char i = '\u0391'; i < '\u03A9'; i++) {
    System.out.print(i);
    }
    }
    }输出:ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ΢ΣΤΥΦΧΨ
      

  3.   

    这上面的i的值是unicode码吗?我想让i是16进制的数,就是说是int型的,不让i是char型的,怎么弄谢了啊!!
      

  4.   

    不能直接用16进制表示,要设置一下,
    具体怎么设置,暂时忘了,
    你直接用char行吧
      

  5.   

     为何我用java输出希腊字母会有一个?,希腊字母的编码是紧挨着的24个吗?