对于Java和一般编程方面的令人难以置信的新颖性,我想在此道歉。但是我到处都在寻找答案,而我似乎找不到一个答案。

所以我只是想运行以下命令:

public class WriteSquares2
{
  public static void main(String[] args)
  {
    for (int i=1; i<=10; i++)
    {
      System.out.println(i + " \u2261 " + (i % 7) + " modulo 7");
    }
  }
}

Unicode字符\u2261是全等符号(≡)。 DrJava显示以下内容作为输出:
1 ? 1 modulo 7
2 ? 2 modulo 7
3 ? 3 modulo 7
4 ? 4 modulo 7
5 ? 5 modulo 7
6 ? 6 modulo 7
7 ? 0 modulo 7
8 ? 1 modulo 7
9 ? 2 modulo 7
10 ? 3 modulo 7

最奇怪的是当我简单地输入
'\u2261'

在“交互”框中,我得到了单引号中的等价字符:
'≡'

我试过简单地将'\u2261'而不是“\u2261”放入代码中,但是然后我得到如下内容:
8803 modulo 7
8805 modulo 7
8807 modulo 7

我也尝试仅将unicode字符插入代码中,但这只是给出了一条错误消息。谁能弄清楚发生了什么或我做错了什么?非常感谢您的帮助。

[我应该补充一点,这不是一项家庭作业,也不是什么,因为我们的书甚至没有提到Unicode-只是想弄清楚……当我开始学习时,我并不认为这会很困难!]

编辑:我使用的是Mac OS 10.7.5,而Java博士说它的版本是“drjava-20120818-r5686”。

编辑#2:这是使用Monospaced 12作为主要字体的屏幕截图。即使我可以直接使用单引号将其输入,但即使我可以让控制台返回该符号,它仍会显示为问号。

最佳答案

问题与您使用的字体有关,这与代码无关。请参阅Edit > Preferences > Display Options > Fonts > Main Font下的DrJava设置。

DrJava在Linux上使用默认字体(Monospaced 12):

DrJava在Linux上使用其他字体(PT Sans 12):

这两个屏幕截图均来自同一DrJava实例;我什至不必关闭它。请注意,在“交互” Pane 中,该字形对于我的等宽字体是正确的,并且是PT Sans的通用占位符。 “控制台”选项卡(未显示)中也会发生同样的情况。

09-27 09:28