java中的堆栈比较 for(int i=1;i
导致异常的不是java中的堆栈比较 for(int i=1;i,java,data-structures,stack,Java,Data Structures,Stack,导致异常的不是s.pop():而是s.lastElement(),如堆栈跟踪中的java.util.Vector.lastElement所示。这意味着在调用s.lastElement()之前,您也必须检查s.isEmpty() 如果堆栈为空,则无法执行任何循环体:将检查移到外部: for(int i=1;i<str_arry.length;i++){ if(s.lastElement().equals(str_arry[i])){ s.p
s.pop()
:而是s.lastElement()
,如堆栈跟踪中的java.util.Vector.lastElement
所示。这意味着在调用s.lastElement()
之前,您也必须检查s.isEmpty()
如果堆栈为空,则无法执行任何循环体:将检查移到外部:
for(int i=1;i<str_arry.length;i++){
if(s.lastElement().equals(str_arry[i])){
s.push(str_arry[i]);
}
else {
if(!s.isEmpty()) s.pop();
}
}
for(int i=1;i导致异常的不是s.pop()
:而是s.lastElement()
,如堆栈跟踪中的java.util.Vector.lastElement
所示。这意味着在调用s.lastElement()
之前,您也必须检查s.isEmpty()
如果堆栈为空,则无法执行任何循环体:将检查移到外部:
for(int i=1;i<str_arry.length;i++){
if(s.lastElement().equals(str_arry[i])){
s.push(str_arry[i]);
}
else {
if(!s.isEmpty()) s.pop();
}
}
for(int i=1;i因为引起它的不是pop
:它是s.lastElement()
,如堆栈跟踪中的java.util.Vector.lastElement
所示。当错误消息显示“atlastElement()
”时,为什么您认为它是pop()
?此外,堆栈跟踪中的下一行将显示代码中的行号,它还将指向if(s.lastElement().equals(str_arry[i])
行,而不是if(!s.isEmpty())s.pop()
行。学习读取错误消息。因为不是pop
导致它的:是s.lastElement()
,如堆栈跟踪中的java.util.Vector.lastElement
所示。当错误消息显示“atlastElement()
”时,您为什么认为这是pop()
?此外,堆栈跟踪中的下一行将显示代码中的行号,它也将指向if(s.lastElement().equals)(str_arry[i]))
行,而不是if(!s.isEmpty())s.pop()
行。学习阅读错误消息。