2015-10-17 94 views
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()方法,但我有它

+0

在某種程度上,這是關於審查你的代碼; codereview.stackexchange.com也可能是一個好地方。 – GhostCat

+1

沒關係,如果這是你的第一個堆棧,不用擔心。科學家估計,你會停止在你的第14堆棧周圍的某處發生錯誤。 – 2015-10-17 22:58:51

+0

您可以爲上溢和下溢添加錯誤處理。你也可以使它通用。最後,你可以使用'Collection'而不是數組。 –

回答

2

是的,它是。 但是你可以添加檢查溢出,下溢。

如果您嘗試使用集合,這樣會更好。