Java 一維陣列實現一個棧(Stack)類
阿新 • • 發佈:2018-11-01
使用一維陣列編碼實現一個棧(Stack)類,要求提供以下操作:(1)boolean isEmpty():判斷棧當前是否為空;(2)入棧操作void push(obj):把資料元素obj插入堆疊;(3)出棧操作Object pop():出棧,並返回刪除的資料元素;(4)Object getTop():取堆疊當前棧頂的資料元素並返回;(5)利用Stack類實現一個方法:輸入一個正整數,輸出該整數所對應的二進位制數。
import java.util.*;
public class Stack {
public Object[] s;
int len=0;
public Stack (int b) {
s=new Object[b];
for(int i=0;i<b;i++) {
s[i]=null;
}
}
public boolean isEmpty() {
if(len==0)return true;
return false;
}
public void push(Object a) {
s[++len]=a;
}
public Object pop() {
Object a=s[len];
s[len--]=null;
return a;
}
public Object getTop() {
Object a= s[len];
return a;
}
public static void main(String[] args) {
Stack t=new Stack(1000);
int number;
Scanner x=new Scanner(System.in);
number = x.nextInt();
while(number>0) {
t.push(number%2);
number/=2;
}
while(!t.isEmpty()) {
System.out.print(t.getTop());
t.pop();
}
}
}