用java实现栈的拓展—8进制的转换

来源:互联网 发布:coc各级墙升级数据 编辑:程序博客网 时间:2024/06/05 16:13

根据上一篇文章代码改变所得,删除了一些不用的内容,如果想使用完整的栈功能,请查看上一篇java实现栈


public class Zhan10zhuan8 {// 创建头节点public static void main(String[] args) {// TODO Auto-generated method stubSuan a=new Suan();System.out.println("输入10进制:1348");a.get8(1348);}}class Node {String data;Node next = null;Node pre = null;Node(String data) {this.data = data;}public String getdata() {return data;}public Node getnext() {return next;}public void setnext(Node next) {this.next = next;}public Node getpre() {return pre;}public void setpre(Node pre) {this.pre = pre;}}class Lianbiao {Node hear = null;Node tail = null;Node prenode = null;int a = 0; // 记录栈长度Lianbiao(Node hear) {this.hear = hear;tail = hear;prenode = hear;}public Node gethear() {return hear;}// 链表元素的添加public void add(Node node) {node.setpre(prenode);node.setnext(null);prenode.setnext(node);prenode = node;a++;}//全部输出public void shuchu() {Node sc = null;while(a>0){Node n = hear;int i = a;while (i > 0) {n = n.getnext();if (i == 1) {prenode=n.getpre();n.getpre().setnext(null);sc = n;System.out.print(sc.getdata());}i--;}a--;}}}class Suan{public void get8(int n){int i=n,j=0;Node hear = new Node(" ");Lianbiao l = new Lianbiao(hear);while(i!=0){j=n%8;i=n/8;n=i;l.add(new Node(String.valueOf(j)));}l.shuchu();}}


*原创作品,转载请表明出处。有建议或者问题欢迎联系我,QQ1595787997  

原创粉丝点击