我正在使用Java堆棧,我想知道堆棧是否至少有2個項目在頂部。我僅限於Stack中的方法,不能使用像.add()這樣的東西。如何檢查堆棧的前兩個元素是否存在?
我目前的問題是什麼時候一個元素的值是0.我必須處理正面,負面和0整數。這裏是我的問題的方法代碼:
public static <E> boolean hasTwoElements(Stack<E> stack) {
int temp1 = 0;
int temp2 = 0;
boolean happened = false;
if (!stack.isEmpty()) {
//check if the assignment is success
happened = ((temp1 = (java.lang.Integer) stack.pop()) != 0)
&& ((temp2 = (java.lang.Integer) stack.pop()) != 0);
if (happened) { //if the 2 assignments happened
stack.push((E) new Integer(temp2)); //reverse order b/c popped in order
stack.push((E) new Integer(temp1));
return true;
}
}
return false;
}
更具體,我需要知道的轉讓是否成功。
@Andreas'我僅限於Stack中的方法......你是否做了自己的研究並閱讀完整的問題?很可能,這是一個作業問題,旨在瞭解OP是否理解堆棧。 –