如何使用Java扫描器读取命题逻辑符号作为输入?

如何使用Java扫描器读取命题逻辑符号作为输入?,java,input,java.util.scanner,Java,Input,Java.util.scanner,如果我粘贴∧,我将?作为输出接收到控制台。有人能解释一下我能做些什么来正确阅读这样的逻辑符号吗?我正在使用NetBeans 8.0.1 谢谢。问题不在于输入字符,而在于将其打印到控制台。您的控制台似乎不支持∧,因此它会打印一个问号 您应该测试console是否允许您输入∧,如下所示: Scanner in = new Scanner(System.in,"UTF-8"); System.out.println(in.next()); 如果打印了8743,您可以在内部处理字符:如下所示的比较

如果我粘贴
,我将
作为输出接收到控制台。有人能解释一下我能做些什么来正确阅读这样的逻辑符号吗?我正在使用NetBeans 8.0.1


谢谢。

问题不在于输入字符,而在于将其打印到控制台。您的控制台似乎不支持
,因此它会打印一个问号

您应该测试console是否允许您输入
,如下所示:

 Scanner in = new Scanner(System.in,"UTF-8");
 System.out.println(in.next());
如果打印了
8743
,您可以在内部处理字符:如下所示的比较

Scanner in = new Scanner(System.in,"UTF-8");
String s = in.next();
if (s.length() != 0) {
    System.out.println((int)s.charAt(0));
}
将正常工作


否则,您应该切换到使用第一个代码页中的字符,即
^
而不是

我认为您的终端编码(IDE或命令行)可能不是UTF-8,因此当它转换时,您会看到差异

我刚试过你的密码,结果∧ 回来

执行echo$LC\u CTYPE或echo$LANG检查它

读这个 及

用于使用不同的编码

你怎么打字∧' ?@抱歉,我是说粘贴。这可能是NetBean的问题。在那里尝试其他解决方案
if (s.equals("∧")) {
    ...
}