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