好吧,看起来不可能。但是,如何在不在数字堆栈中使用运算符的情况下评估后缀表达式?
好的:我会再试一次。
我想建立一个基本的计算器。用户将写入输入数字。我想将这些添加到堆栈(列表)中,当用户执行/写入时,程序应该以后缀方式对其进行评估。
答案 0 :(得分:4)
创建ExpressionToken的基类,并使用NumberToken和OperatorToken扩展它。将ArrayList参数化为ExpressionTokens的列表。
答案 1 :(得分:0)
您只需创建ArrayList
Object
个,然后将您想要的任何类型放入其中:
List<Object> list = new ArrayList<Object>();
现在你可以添加任何东西了。当你提取时,你会得到Object
,所以一定要测试实际类型:
if(list.get(i) instanceof Number) {
//
} else if(list.get(i) instanceof Operator) {
//
}
这假设您在程序中定义了类Number
和Operator
,分别代表数字和运算符。