我已经阅读了Stack Exchange和其他网站上的几篇帖子,但我仍然有点担心如何在Java中打印占星术标志。
public static void main(String[] args)
{
char aa = \u2648;
char ab = \u2649;
char ac = \u264A;
char ad = \u264B;
char ae = \u264C;
char af = \u264D;
char ag = \u264E;
char ah = \u264F;
char ai = \u2650;
char aj = \u2651;
char ak = \u2652;
char al = \u2653;
while(true)
{
System.out.println(aa + ab + ac + ad + ae + af + ag + ah + ai + aj + ak + al);
}
}
根据我的理解,当unicode的十六进制值在U + 0000到U + FFFF范围内时,只能使用\ u,这是。我尝试编译它,它给了我12个非法的字符语法错误。任何帮助将不胜感激。 ^ _ ^
附加信息:我正在将其打印到控制台,我正在使用TextPad进行编译。
答案 0 :(得分:1)
试试这个。请注意,您将在无限循环中打印字符。
更新:要打印unicode字符,您必须使用“UTF-8”编码创建新的输出流。试试这个。它应该工作。
public static void main(String[] args) {
char aa = '\u2648';
char ab = '\u2649';
char ac = '\u264A';
char ad = '\u264B';
char ae = '\u264C';
char af = '\u264D';
char ag = '\u264E';
char ah = '\u264F';
char ai = '\u2650';
char aj = '\u2651';
char ak = '\u2652';
char al = '\u2653';
PrintStream out = null;
try {
out = new PrintStream(System.out, true, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
out.println("" + aa + ab + ac + ad + ae + af + ag + ah + ai + aj + ak + al);
}
答案 1 :(得分:0)
使用字符文字周围的''
使其可编辑。