- 浏览: 2869970 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (1173)
- 名言警句 (5)
- 心情随笔 (50)
- 数据库 (57)
- Java基础 (241)
- J2EE框架 (91)
- 数据结构 (12)
- 程序设计 (21)
- WEB技术 (128)
- 网络日志 (12)
- IT资讯 (247)
- linux (64)
- solaris (2)
- 其它 (143)
- WebService (4)
- 日语学习 (2)
- 机器人 (5)
- Android (5)
- cgywin (3)
- Game (1)
- DWR (1)
- spring (8)
- canvas (1)
- Guava (3)
- Modbus (5)
- 测试 (6)
- mongodb (9)
- Quartz (2)
- Cron (1)
- windows (2)
- 持续集成 (1)
- bootstrap (3)
- 结对编程 (1)
- nodejs (1)
- Netty (1)
- 安全 (3)
- webstorm (2)
- sparkline (1)
- Job (1)
- git (3)
- Maven (3)
- knockout (5)
- jquery (1)
- bower (1)
- docker (1)
- confluence (4)
- wiki (1)
- GoogleMap (1)
- jekyll (10)
- ruby (2)
- npm (3)
- browserify (1)
- gulp (3)
- openwrt (1)
- discuz (3)
- 输入法 (1)
- JPA (1)
- eclipse (2)
- IntelliJ (1)
- css (1)
- 虚拟机 (1)
- 操作系统 (1)
- azkaban (2)
- scrum (1)
最新评论
-
pangxiea_:
你好, 想请问一下 Linux下 这么使用rxtxcomm 在 ...
使用Java进行串口通信 -
abababudei:
请教一下,这个您是怎么解决的:/dev/ttyS2enteri ...
Java应用程序的MODBUS通讯 -
xuniverse:
hannibal005 写道楼主,我问下 request.se ...
用javascript与java进行RSA加密与解密 -
atxkm:
找了一下午,终于找到了
gulp 拷贝文件时如何移除文件目录结构 -
kalogen:
gtczr 写道非常感谢,经过我自己的修改,已经完美实现。发出 ...
用javascript与java进行RSA加密与解密
java 代码
- package cacu;
- /**
- * myejb6.0 CacuStack.java
- */
- /**
- * @author sunxboy
- *
- * 10:19:05 AM May 30, 2007
- */
- public class CacuStack {
- CacuNode top;
- public CacuStack() {
- top = null;
- }
- public boolean isEmpty() {
- return top==null;
- }
- public boolean push(int data) {
- CacuNode node = new CacuNode(data);
- if(isEmpty()) {
- top = node;
- return true;
- }else {
- node.next=top;
- top = node;
- return true;
- }
- }
- public int pop() {
- int data = top.data;
- top = top.next;
- return data;
- }
- public static void main(String[] args) {
- CacuStack stack=new CacuStack ();
- stack.push(1);
- stack.push(2);
- stack.push(3);
- stack.push(4);
- stack.pop();
- stack.pop();
- while(!stack.isEmpty())
- {
- System.out.println(stack.pop());
- }
- }
- }
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
java 代码
- /**
- *
- */
- package cacu;
- /**
- * @author sunxboy
- *
- */
- public class Cacu {
- CacuStack cs;
- public int cacu(String source) {
- cs = new CacuStack();
- for (int i = 0; i < source.length(); i++) {
- char ch = source.charAt(i);
- // 如果是数字
- if (ch <= '9' && ch >= '0') {
- cs.push(Integer.parseInt(ch+"")); //注意这里不能用Integer.valueOf(ch);
- } else {
- int num2 = cs.pop();
- int num1 = cs.pop();
- switch (ch) {
- case '+':
- cs.push(num1+num2);
- break;
- case '-':
- cs.push(num1-num2);
- break;
- case '*':
- cs.push(num1*num2);
- break;
- case '/':
- cs.push(num1/num2);
- break;
- }
- }
- }
- return cs.pop();
- }
- public static void main(String[] args) {
- InToPost post=new InToPost();
- Cacu cacu=new Cacu();
- // (a+b*c)*(e+f+m+n*j)
- // System.out.println(post.doTrans("1+1"));
- // System.out.println(cacu.cacu(post.doTrans(("1+1"))));
- System.out.println(post.doTrans("(9+2*7)*(5+6+8+9*5)"));
- System.out.println(cacu.cacu(post.doTrans("(9+2*7)*(5+6+8+9*5)")));
- }
- }
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
java 代码
- /**
- *
- */
- package cacu;
- /**
- * @author sunxboy
- *
- */
- public class CacuNode {
- int data;
- CacuNode next;
- public CacuNode(int data) {
- this.data = data;
- }
- }
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
java 代码
- /**
- * struture Stack.java
- */
- package cacu;
- /**
- * @author sunxboy
- *
- * 10:20:22 AM May 30, 2007
- */
- public class Stack {
- private Node top;
- public Stack() {
- top=null;
- }
- public boolean push(char data) {
- Node newNode = new Node(data);
- if(isEmpty()) {
- top= newNode;
- return true;
- }else {
- newNode.next = top;
- top = newNode;
- return true;
- }
- }
- public char pop(){
- char data = top.data;
- top =top.next;
- return data;
- }
- public boolean isEmpty() {
- return top==null;
- }
- public static void main(String[] args) {
- Stack stack=new Stack();
- stack.push('a');
- stack.push('b');
- stack.push('c');
- stack.push('d');
- stack.pop();
- stack.pop();
- while(!stack.isEmpty())
- {
- System.out.println(stack.pop());
- }
- }
- }
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
java 代码
- /**
- * struture Node.java
- */
- package cacu;
- /**
- * @author sunxboy
- *
- * 10:20:13 AM May 30, 2007
- */
- public class Node {
- public char data;
- public Node next;
- public Node(char data) {
- this.data = data;
- }
- }
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
java 代码
- /**
- * struture InToPost.java
- */
- package cacu;
- /**
- * @author sunxboy
- *
- * 10:20:04 AM May 30, 2007
- */
- public class InToPost {
- String output = "";
- Stack stack;
- public String doTrans(String source) {
- stack = new Stack();
- for (int i = 0; i < source.length(); i++) {
- char ch = source.charAt(i);
- switch (ch) {
- case '+':
- case '-':
- doOper(ch,1);
- break;
- case '*':
- case '/':
- doOper(ch,2);
- break;
- case '(':
- stack.push(ch);
- break;
- case ')':
- getParent();
- break;
- default:
- output = output + ch;
- break;
- }
- }
- // 将栈中全部取出
- while (!stack.isEmpty()) {
- output = output + stack.pop();
- }
- return this.output;
- }
- private void getParent() {
- while(!stack.isEmpty()) {
- char ch = stack.pop();
- if(ch=='('){
- break;
- }else{
- output=output+ch;
- }
- }
- }
- public void doOper(char ch1, int lev) {
- while (!stack.isEmpty()) {
- char popch = stack.pop();
- if (popch == '(') {
- stack.push(popch);
- break;
- } else {
- int lev2;
- if (popch == '+' || popch == '-') {
- lev2 = 1;
- } else {
- lev2 = 2;
- }
- // 将栈中取出的与传入的比较优先级
- if (lev > lev2) {
- stack.push(popch); // 将低级别的放回去
- break;
- } else {
- output = output + popch;
- }
- }
- }
- stack.push(ch1); //将高级别放在外层
- }
- public static void main(String[] args) {
- InToPost post=new InToPost();
- String temp="(a+b*c)*(e+f+m+n*j)";
- //abc*+ef+m+nj*+*
- System.out.println(post.doTrans(temp));
- }
- }
发表评论
-
Oracle中的临时表用法汇总(转)
2008-02-29 10:34 21051.语法在Oracle中,可以创建以下两种临时表:1)会话特有 ... -
全方位介绍Oracle数据库中的回滚段
2008-01-08 11:27 4385本文分为以下几个部分: * 回滚段的作用 * 回滚段的类型 ... -
PLSQL单行函数和组函数详解(转)
2007-12-07 14:48 1838PL/SQL单行函数和组函数详解 函数是一种有零个 ... -
查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)(转)
2007-10-13 17:34 11744java 代码 // search.cpp : ... -
二叉树创建及遍历算法(递归及非递归)(转)
2007-10-13 17:30 8212java 代码 //二叉树处理头文件 ... -
链表之堆栈的实现
2007-10-12 12:59 2083java 代码 /** * ... -
链表之队列的实现
2007-10-12 12:52 2707java 代码 /** * ... -
链表的实现
2007-10-12 12:45 1633java 代码 /** * ... -
线性表之队列的实现
2007-10-12 12:42 1966java 代码 /** * Que ... -
线性排序的实现
2007-10-12 12:38 1675java 代码 /** * 线性表 ... -
线性表之堆栈的实现
2007-10-12 08:02 1906java 代码 /** ...
相关推荐
通过阅读和分析这些代码,我们可以深入理解堆栈在实际问题中的应用,以及如何用编程语言(可能是C++、Java、Python等)实现堆栈数据结构。 总之,这个实验是一个很好的机会,让学习者亲身体验数据结构如何影响算法...
可以使用栈数据结构来处理这个问题,先处理高优先级的运算符。 6. **命名空间(namespace)**: Java中没有像C++或C#那样的命名空间,但可以通过包(package)来实现类似的功能。在这个项目中,`Calculator`类可能...
在本项目中,"数据结构课程设计--计算器实现java代码"是一个典型的计算机科学与技术相关的课程设计任务,主要目标是利用Java编程语言实现一个计算器。这个任务涉及到许多关键的编程和数据结构概念,包括但不限于: ...
在Java编程语言中实现一个计算器功能是一项常见的任务,它涵盖了基础的编程概念,如控制流程、数据类型、函数以及类的设计。以下将详细介绍如何利用Java实现一个具备多种运算符计算能力的计算器。 首先,我们需要...
- 数组与集合:虽然这个计算器项目可能不直接涉及数组或集合,但在更复杂的计算器设计中,可能需要使用这些数据结构来存储历史计算记录。 2. Java GUI(Java Swing): - JFrame:作为主窗口,承载所有的组件,如...
本主题将深入探讨一个用Java编写的经典计算器程序,这对于初学者来说是一个很好的学习资源,能够帮助他们理解基础的编程概念、控制流、数据类型以及面向对象编程的基本原则。 首先,让我们来了解一下计算器程序的...
模拟微软计算器-java代码 本资源是一个使用 Java 语言开发的模拟...该算法使用了栈数据结构和面向对象编程的思想,实现了基本四则运算和科学计算的功能。该算法可以被应用于各种计算应用程序中,具有广泛的应用前景。
在这里,你会看到如何声明变量,定义方法,以及使用控制流语句(如`if-else`,`for`循环和`while`循环)来实现计算功能。这些基本结构是所有Java程序的基础。 2. **运算符的使用**: - 计算器需要处理各种数学运算...
在这个项目中,我们关注的是“计算器”的实现,这通常涉及到堆栈数据结构和后缀表达式(也称为逆波兰表示法)的应用。让我们深入探讨这些知识点。 首先,堆栈是一种线性数据结构,遵循“后进先出”(LIFO)的原则。...
Java数据结构在手机计算器中的应用主要体现在其内部算法和计算逻辑的设计上。在这个项目中,开发者巧妙地结合了数据结构的原理,如栈、队列等,以及良好的逻辑思维,来实现一个能够处理包括括号在内的复杂运算的手机...
在本文中,我们将探讨如何使用Java来实现一个仿Windows计算器的功能。这个计算器程序主要使用Swing和AWT库来构建用户界面,并通过ActionListener接口处理用户交互。我们将深入讨论以下几个关键知识点: 1. **Swing...
在本项目中,我们主要探讨的是如何利用Java编程语言设计一个具有加减乘除四则混合运算功能的GUI(图形用户界面)计算器。这个计算器旨在模拟Windows操作系统中的标准计算器,提供用户友好的交互方式,使得非程序员也...
【计算器-java】项目是一个使用Java语言编写的全功能计算器程序,它涵盖了基本的数学运算以及可能的高级功能,如开方、对数、指数等。这个项目为学习者提供了深入理解Java编程语言以及面向对象设计原则的机会。下面...
计算器的运算部分,可能采用了栈数据结构来实现。栈是一种后进先出(LIFO)的数据结构,非常适合处理逆波兰表示法(Reverse Polish Notation,RPN)的计算问题。用户输入的多项式会被转换成RPN形式,然后通过栈进行...
在本数据结构实验中,我们将探索如何实现一个基于LISP的简易计算器。LISP,全称为“List Processor”,是一种古老而强大的编程语言,以其独特的语法和对递归的高度支持而闻名。这个实验将帮助我们深入理解数据结构,...
可以使用栈(Stack)数据结构来辅助处理,先计算高优先级的运算符。 7. **设计模式**:更高级的实现可能涉及命令模式,将每种运算封装为一个命令对象,计算器作为一个调用者,命令对象作为行为载体,这样可以使代码...
本文将深入探讨使用Java编写计算器程序的知识点,包括基础语法、控制结构、异常处理、用户界面设计等方面。 首先,让我们从基础开始。在Java中,程序的基本单位是类(Class),每个类都包含数据(属性)和行为...
7. **运算符优先级**:如果计算器支持嵌套运算,需要实现解析运算符优先级的逻辑,这可能涉及到栈数据结构。 8. **设计模式**:虽然这是一个简单的项目,但可以运用到单例模式(如果只允许一个计算器实例存在)或者...
在本项目"数据结构栈计算器"中,我们将深入探讨栈这一特殊的数据结构及其在实现计算器功能时的应用。栈是一种后进先出(LIFO)的数据结构,常用于解决逆序操作的问题,比如表达式求值。 首先,让我们来看看"中缀转...