【发布时间】:2016-03-30 11:30:31
【问题描述】:
我正在编写代码来生成 JavaCC 解析器,它将读取用户的输入并检查它是否使用我的代码中定义的一组语言中的任何一种。
允许输入的一个条件是它不能为空 - 即,用户必须输入一些字符块(长度大于或等于 1)而不是空格 " "。
我希望能够确定用户的输入是否为空,以便在这种情况下可以在屏幕上打印错误消息。
我编写了一个获取用户输入的产品(又名规则);它被称为Input() 并被宣布为无效。
在 main 方法中,我尝试编写代码来确定用户的输入是否为空,方法是:
if parser.Input() == null {
// print error message onto the screen
}
但是,当我尝试编译时,我在终端上收到一条错误消息,指出此处不允许使用“void”类型(我确定这是指输入)。
我能否提供解决此问题的提示/提示?
【问题讨论】:
-
一个 void 方法不返回任何值。因此,将 void 函数返回的值与 null (或其他任何值)进行比较是没有意义的。这就是编译器报告错误的原因。
标签: parsing compiler-construction javacc