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'而不是數組。 –