与Postfix Evaluation相关的EmptyStack异常

时间:2017-08-15 02:45:52

标签: java exception

程序应该以后缀表达式的形式接受用户的输入并对其进行评估。由于我的分配要求,我需要为此程序使用数组和字符。现在的问题是我得到了EmptyStackException,我不知道为什么。我需要打印评估的最终结果。

这是我的代码:

def valley(list):
  if(len(list)==0):
    return(True)
  if(len(list)==1):
    return(False)
  if(list[0]<list[1]):
    return(False)
  for i in range(0,len(list)-1):
    if(list[i]<list[i+1]):
      pos=i
      break
    if(list[i]==list[i+1]):
      return(False) 
  else:
    return(False)
  for i in range(pos,len(list)-1):
    if(list[i]>=list[i+1]):
      return(False)
  return(True)

对于凌乱的工作表示歉意,并提前感谢您的帮助。 ^ _ ^

1 个答案:

答案 0 :(得分:0)

我没有看到你要检查的任何地方

var target = ui.draggable.html();
            if (yourCurrentlyHoveredElement.attr("id") === "originalParents") {
                yourCurrentlyHoveredElement.append("<div class ='.grid-cell' onmouseover='call_mouseover()'><div class='remove'>&times</div>" + target + "</div>");
            }

另外,为什么要一次弹出两个元素而不检查空堆栈?

if(st.isEmpty()) 

显然,如果堆栈中有一个元素,并且下一行执行将抛出异常。