2015-10-17 89 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

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

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