基于堆栈的计算器不能与括号一起使用

时间:2019-03-05 03:51:06

标签: java stack calculator

我正在基于一个使用简单ArrayList类型的自定义堆栈类制作一个计算器。我有一个方法,它从控制台接收输入并分成不同的部分,以便可以将它们处理成运算符和操作数。 例如: 2 + 4 +(6-2)将被拆分为“ 2”,“ +”,“ 4”,“ +”,“(”,“ 6”,“-”,“ 2”,“)”并保存在ArrayList中。我必须分开堆栈,一个用于所有运算符,一个用于所有值。我已经能够使所有基本操作正常运行,但是当我尝试对其进行处理时,括号不起作用。

这是我的处理方法,其中将值和运算符的列表另存为ArrayList,并描述了功能正常的算法应该做什么。

[1,1,1]

我得到的错误是IndexOutOfBoundsException:值堆栈为-1。

0 个答案:

没有答案