对于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的通用占位符。 “控制台”选项卡(未显示)中也会发生同样的情况。