这个代码是堆栈吗?
我怎样才能让它变得更好?
这是我的第一个,所以我很抱歉我的错误
我可以使用ArrayList吗?
public class Stack implements IADT {
private final int[] stackArray = new int[10];
private int top;
private int nr;
public Stack(){
top = -1;
}
@Override
public String pop() {
return Integer.toString(stackArray[top--]);
}
@Override
public String peek() {
return Integer.toString(stackArray[top]);
}
@Override
public void push(String value) {
String s="";
int i=0;
while(i<value.length()){
if(!Character.isDigit(value.charAt(i))){
if(!s.equals("")){
nr = Integer.parseInt(s);
if (top<9){
stackArray[++top] = nr;
}else{
pop();
stackArray[++top] = nr;
}
s="";
}
i++;
}else{
s+=value.charAt(i);
i++;
}
}
}
我没有写过isEmpty()方法,但我知道了
答案 0 :(得分:2)
是的,确实如此。 但是你可以添加检查溢出,下溢。
如果您尝试使用集合,这会更好。