毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> java技术 >> 正文

java读写txt文件并且进行字符串操作代码

更新时间:2012-6-22:  来源:毕业论文

java读写txt文件并且进行字符串操作代码

input.txt如下:  
  5*6+3
  2*(3+2-1)
  ……
 
   
  要求如下:
  1. 从input.txt文件,读取每一行的数据并计算出结果输出。
  2. 输出格式如下:
  5*6+3=33
  2*(3+2-1)=8
  ……  

  涉及到的考点:
  文件操作
  字符串操作
  数据结构栈或者二叉树的运用

读倒不难,计算就麻烦了。。

FileReader fr = new FileReader("c:/a.txt");
BufferedReader br = new BufferedReader(fr);
String str = null;
while((str = br.readLine()) != null)
{
System.out.println(str);
//在这里进行计算。
}
br.close();
fr.close();

这计算太难的吧。。
挺感兴趣的,希望有高手解答。
input.txt里面再加几个字符串

1+2+2
3*5-2
3*(3+1)-2
4/3+2
(5+2)*4-12+(3+55)*23
((5+2)*4-12)*3+(3+55)*2

//计算代码
//相当于一个表达式解析器
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Stack;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ExpressionParser {

    static Map<String, Integer> optrOrder;

    static {
        init();
    }

    private static void init() {
        optrOrder = new HashMap<String, Integer>();
        optrOrder.put("(", 0);
        optrOrder.put("*", 1);
        optrOrder.put("/", 1);
        optrOrder.put("%", 1);
        optrOrder.put("+", 2);
        optrOrder.put("-", 2);
        optrOrder.put("^", 3);
        optrOrder.put("#", 3);    }

[1] [2] [3] 下一页

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。