Scanner in = new Scanner(System.in,"UTF-8");
System.out.println(in.next());
如果我粘贴 ∧
,我会收到 ?
作为控制台的输出。有人可以解释我可以做些什么来正确阅读这样的逻辑符号吗?我使用的是 NetBeans 8.0.1。
谢谢。
最佳答案
问题不在于输入字符,而在于将其打印到控制台。您的控制台似乎不支持 ∧
的代码点 \u2227
,因此它会打印一个问号。
您应该通过打印您所读字符的数字表示来测试控制台是否允许您正确输入 ∧
,如下所示:
Scanner in = new Scanner(System.in,"UTF-8");
String s = in.next();
if (s.length() != 0) {
System.out.println((int)s.charAt(0));
}
如果 8743
被打印出来,你可以在内部处理这个字符:像这样比较
if (s.equals("∧")) {
...
}
将正常工作。
否则,您应该切换到使用第一个代码页中的字符,即 ^
而不是 ∧
关于java - 如何使用 Java Scanner 读取命题逻辑符号作为输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30848958/