我創建了一個運行堆棧的類。但是,當我運行主類時,會產生運行時錯誤。這個類像堆棧一樣運行,但是當輸入的數字超過堆棧大小時,它應該調用一個複製數組的方法,爲堆棧增加更多大小。運行時錯誤運行堆棧,這可能是由於數組大小
異常線程 「main」 java.lang.ArrayIndexOutOfBoundsException:在Lab15.main(Lab15.java:18)5 在IntegerStack.push(IntegerStack.java:26)
我認爲問題出在這個班級內,我不確切地知道我的問題在哪裏。我可能是錯的,但它可能與我的數組副本。
import java.util.Arrays;
public class IntegerStack
{
private int stack [];
private int top;
public IntegerStack(int SIZE)
{
stack = new int [SIZE];
top = -1;
}
public void push(int i)
{
if (top == stack.length)
extendStack();
else
stack[++top]= i;
}
public int pop()
{
return stack[top--];
}
public int peek()
{
return stack[top];
}
public boolean isEmpty()
{
if (top == -1)
return true;
else
return false;
}
private void extendStack()
{
stack = Arrays.copyOf(stack, 2 * stack.length);
}
}
此沒有解釋在所有的空間,顯然這是作業任務。 – ThePerson 2013-04-26 17:39:17