java - 如何使用 Java Scanner 读取命题逻辑符号作为输入?

标签 java input java.util.scanner

 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/

相关文章:

java - 在修订控制中组织我自己的外部库

java设计-用户预设系统

c - C 中的输入和输出

c++ - 无论我使用什么,我的输入都会被跳过

Java - nextInt() 大小限制

java - NoSuchElementException : No line found when getting user input with scanner?

java - 输入字符串而不是 int 时抛出错误

java - 检查字节数组是否全为零的最快方法

java - 如何在 Spring Data JPA 中表示带有空值的表?

jquery - 第二次单击后启用/禁用输入字段