我正在使用NetBeans IDE(Java)制作一个基本的GUI,并想创建一个带有√符号的按钮。它不允许我复制粘贴,所以我尝试使用其ASCII代码-char sqrt = (char) 251
。然而,它给了我"û"而不是平方根符号,我不知道为什么。请问有人可以解释一下为什么会出现这种情况,并提供一个解决方案吗?
Java字符采用Unicode编码,而不是ASCII。Unicode代码点251(U+00FB)为“带抑扬符号的拉丁小写字母u”。为了使用仅包含基本ASCII符号的字符集输入各种Unicode字符,Java提供了使用文字格式输入Unicode字符的方法。因此,您可以这样做:
char sqrt = '\u221a';
U+221A代表平方根符号的Unicode编码点。
这种\uXXXX格式也可以用于字符串字面量:
String s = "The square root of 2 (\u221a2) is approximately 1.4142";
The square root of 2 (√2) is 1.4142
Java使用Unicode编码,'√'的Unicode值是8730。因此,应该这样做:
char sqrt = 8730;
char sqrt = (char) 251; System.out.println(sqrt);
?至少在我从命令行编译它时它可以正常工作 :o - Bluefire