当前页面: 开发资料首页 → 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程序