1
这是代码堆栈?是我的代码堆栈?
我该如何让它变得更好?
这是我的第一个,所以我很抱歉我的错误
我能做到这一点使用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()方法,但我有它
在某种程度上,这是关于审查你的代码; codereview.stackexchange.com也可能是一个好地方。 – GhostCat
没关系,如果这是你的第一个堆栈,不用担心。科学家估计,你会停止在你的第14堆栈周围的某处发生错误。 – 2015-10-17 22:58:51
您可以为上溢和下溢添加错误处理。你也可以使它通用。最后,你可以使用'Collection'而不是数组。 –