会当凌绝顶,一览众山小。——杜甫《望岳》
import java.util.Scanner;
//栈实现进制转换
public class MyStack {
private int maxsize = 0;
private long arr[];
private int top;
private static Scanner in;
public MyStack(int size) {// 构造栈
maxsize = size;
arr = new long[maxsize];
top = -1;
}
public void pushstack(long value) {// 入栈
arr[++top] = value;
}
public long popstack() {// 出栈
return arr[top--];
}
public long peekstack() {// 访问当前栈顶
return arr[top];
}
public boolean emptystack() {
if (top == -1)// 判断是否为空
return false;
else
return true;
}
public int fullstack() {
if (top == maxsize - 1)// 判断是否栈满
return 1;
else
return 0;
}
public void convert(int m, int n) {// m十进制 转换 n进制
long tmp;
while (m != 0) {
tmp = m % n;
pushstack(tmp);
m = m / n;
}
while (top != -1) {
long x = popstack();
System.out.print(x);
}
}
public static void main(String[] args) {
MyStack ms = new MyStack(10);
// in = new Scanner(System.in);//按照先进后出,实现进制转换,辗转相除法
// int m = in.nextInt();
// int n = in.nextInt();
//
// ms.convert(m, n);
ms.pushstack(52);
ms.pushstack(632);
ms.pushstack(87);
ms.pushstack(457);
ms.pushstack(231);
while (ms.emptystack()) {
System.out.println(ms.popstack());
}
}
}