Java-错误消息显示问号而不是字符

时间:2018-12-14 21:36:14

标签: java

$ javac Increment.java

输出:

Increment.java:6: ??: ?????
    System.out.println(++a++);
                          ^
  ??: ??
  ??:    ?
1 ???

这是代码

class Increment{
  public static void main(String[] args) {
    int a = 5;


    System.out.println(++a++);
  }
}

有人知道可能会发生什么以及如何解决吗? 增量只是用于测试的类,因此会出现错误。 我正在git-bash终端中运行它,但是我已经在cygwin终端和Windows的终端中尝试过它。 字符集为UTF-8。

1 个答案:

答案 0 :(得分:0)

很可能您已经设置了国家语言环境(例如,俄语,中文或其他任何语言),使得Java编译器返回已归化的错误消息,但是您的终端(cygwin)不支持UTF-8输出,或者您的系统支持不支持UTF-8语言环境。

作为最快的解决方法,您可以将Java编译器切换到provide error messages in English

$ javac -J-Duser.language=en Increment.java