首页
论坛
图书
开发资料
在线文档
网址
下载
联系我们
 新闻│Java│JavaScript│Eclipse│Eclipse 英文│J2EE│J2ME│J2SE│JSP│Netbeans│Hibernate│JBuilder│Spring│Struts
站内搜索: 请输入搜索关键词

当前页面: 开发资料首页 → Java 专题 → 一个表达式解析器

一个表达式解析器

摘要: 一个表达式解析器

</td> </tr> <tr> <td width="485" height="35" valign="top" class="ArticleTeitle"> //一个简单的表达式解析器,这个解析器可以计算由数字、运算符和括号组成的表达式
的值,并能处理变量。下面是演示这个解析器的代码(请下载解析器源码分析):
import java.io.*;

class PDemo {
public static void main(String args[]) throws IOException
{
String expr;

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Parser p = new Parser();

System.out.println("Enter an empty expression to stop.");

for(;;) {
System.out.print("Enter expression: ");
expr = br.readLine(); //从命令行输入表达式或变量的值
if(expr.equals("")) break;
try {
System.out.println("Result: " + p.evaluate(expr)); //计算结果并输出
System.out.println();
} catch (ParserException exc) {
System.out.println(exc);
}
}
}
}

运行情况:
C:\java>java PDemo
Enter an empty expression to stop.
Enter expression: a=4
Result: 4.0

Enter expression: b=5
Result: 5.0

Enter expression: c=(a+b)-(a*b)
Result: -11.0

Enter expression: 4-6*7
Result: -38.0

Enter expression: 7^3-4/2
Result: 341.0

Enter expression:
function TempSave(ElementID) { CommentsPersistDiv.setAttribute("CommentContent",document.getElementById(ElementID).value); CommentsPersistDiv.save("CommentXMLStore"); } function Restore(ElementID) { CommentsPersistDiv.load("CommentXMLStore"); document.getElementById(ElementID).value=CommentsPersistDiv.getAttribute("CommentContent"); } </td> <td width="199" valign="top" class="ArticleTeitle">
</td> </tr> <tr> <td height="25" colspan="2" valign="top" class="ArticleTeitle">


↑返回目录
前一篇: 一个BASIC语言解释器(带源码)
后一篇: 带源码的Ftp程序

首页 | 全站 Sitemap | 联系我们 | 设为首页 | 收藏本站
版权所有 Copyright © 2006-2007, Java 编程资料牛鼻站, All rights reserved