java使用链栈实现数制转换
2015-07-14 13:48
477 查看
java实现链栈在前面有所介绍:/article/5114101.html
将前面java实现链栈的代码稍作修改:
java实现数制转换的类的代码:
将前面java实现链栈的代码稍作修改:
package linkedstack; public class LinkStack { private Element base; private Element top; class Element { public Object data; public Element next; } /** * 初始化栈 * */ public void initStack() { top = new Element(); base = new Element(); top.data=null; top.next=base; base.data=null; base.next=null; } /** * 入栈 * */ public void push(Object o) { Element e = new Element(); e.data = o; if(top.next==base)//第一次入栈操作 { e.next=base; top.next=e; }else { e.next=top.next; top.next=e; } } /** * 出栈 * */ public Object pop() { Object o = null; if(top.next==base) { System.out.println("栈中没有元素!"); return o; }else { o = top.next.data; //System.out.println("出栈操作"+o); top.next=top.next.next; } return o; } /** * 判断栈是否为空 * */ public Boolean isEmpty() { if(top.next==base) { return true; } return false; } /** * 打印栈 * */ public void print() { System.out.print("打印栈:"); Element temp =top; while(temp.next!=base) { System.out.print(temp.next.data+"\t"); temp =temp.next; } System.out.println(); } }
java实现数制转换的类的代码:
package stackapplication; import linkedstack.LinkStack; public class Conversion { public static void main(String[] args) { LinkStack lStack = new LinkStack(); lStack.initStack(); int N = 100;//原始十进制数 int X = 2;//要转化成X进制数 while(N!=0) { lStack.push(N%X); N=N/X; } while(!lStack.isEmpty()) { System.out.print(lStack.pop()); } } }
相关文章推荐
- Spring@Autowired注解与自动装配
- Thinking in Java 第七章 多态 第八章:接口与内部类 第九章:异常处理
- eclipse 转 AndriodStudio 初识
- java字符串分割问题
- Java日期时间格式
- Java身份证验证方法
- Java之使用json-lib进行对象与json字符串之间的转换
- Eclipse中使用maven
- Java7并发编程实战(一) 守护线程的创建和运行
- java 框架Nutz
- JAVA学习第一天
- eclipse 设置/修改 快捷键
- Mac环境中MyEclipse安装
- Mac环境中MyEclipse安装
- 在Mac环境中JDK安装
- JNI实现回调| JNI调用JAVA函数|参数和返回值的格式
- JavaMail解析邮件内容(经典收藏)
- Eclipse当中的Copy Qualified Name
- java 关于日期
- Eclipse光标变成黑色方块解决方法