是我的代码堆栈?

时间:2015-10-17 22:46:28

标签: java stack

这个代码是堆栈吗?

我怎样才能让它变得更好?

这是我的第一个,所以我很抱歉我的错误

我可以使用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()方法,但我知道了

1 个答案:

答案 0 :(得分:2)

是的,确实如此。 但是你可以添加检查溢出,下溢。

如果您尝试使用集合,这会更好。