我正在尝试实现堆栈但遇到此错误。我无法理解为什么我得到这个因为我定义了一个数组的大小。 我的错误: java.lang.ArrayIndexOutOfBoundsException
// jQuery Validator method for required not blank.
$.validator.addMethod('requiredNotBlank', function(value, element) {
return $.validator.methods.required.call(this, $.trim(value), element);
}, $.validator.messages.required);
// ...
$('#requiredNotBlankField').rules('add', 'requiredNotBlank');
我调用push操作的方法。
ReverseStack(int n){
top = - 1;
size = n;
a = new char[size];
}
boolean push(char c){
if(top >=size ){
System.out.println("Stack overflow");
return false;
}else{
a[top++] = c;
return true;
}
}
char pop(){
if(top<0){
System.out.println("Stack underflow");
return 0;
}else{
char c = a[top--];
return c;
}
}
有人可以帮助我。任何代码更改或新技术都必须适用。
答案 0 :(得分:4)
您将属性top
作为-1
构造函数
1- top = 0;
或
{p> 2 inpush
和pop
方法使用++top
和--top
请参阅How do the post increment (i++) and pre increment (++i) operators work in Java?了解有关差异的更多信息