【发布时间】:2012-03-20 16:10:55
【问题描述】:
我正在尝试在 java 中实现一个堆栈,我希望能够返回返回错误的同伴的左括号的行和列。例如:
public static foo() {
System.out.println ("foo"
}
这应该会在编译时产生错误,我想返回的是一些错误,格式如下:
“错误:在第 2 行第 29 列找到了第 2 行第 23 列 '(',预期为 ')',但找到了 ''。”
这可以通过linkedLists 的linkedLIst 实现吗?或者其他工具是否更适合此应用程序。我希望 push()、pop() 和 peek() 方法保持恒定的行为。
谢谢
【问题讨论】:
-
@alfasin 这与
eval等效项无关。该问题专门询问如何使用堆栈来实现这一点,而不是依赖外部 JavaScript 引擎。 -
@AdamMihalcin 抱歉 - 这不是我所理解的。他说他正在尝试实现堆栈以检测右括号。但他没有说他必须使用堆栈来做到这一点!
-
@alfasin 是的,但我知道我不想依赖外部工具为我生成错误消息。如果我确实需要违规字符的行和列,我宁愿自己生成,而不必解析错误消息的内容。尤其如此,因为错误消息通常不被视为公共 API 的一部分,并且可能会在库版本之间发生变化。
标签: java list linked-list stack