A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郑强强 中级黑马   /  2012-4-13 23:34  /  2141 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我要写一个方法,就是要将获得的那个字符串,根据“+”,“-”,“*”,“/”来进行分割,然后根据不同的符号来进行运算,就好比如我输入1+2.。。。。。然后呢获取这个字符串,然后进行分割出三部分,然后根据中间的符号来,判断运行加法运算就好像这样:
class Calatuer{
public String cala(String a){
String res="";
if("".equals("+")){
res="";
}

if("".equals("-")){
res="";
}

return res;
}
}

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

2 个回复

正序浏览
分割字符串可以用String类的split方法,但是按你的要求还是用charAt()来获得每个位置得字符,再按楼上兄弟的方法压入栈中
回复 使用道具 举报
    是求表达式的值吗?还没看到StringBuilder和StringBuffer 不知道这两个类中有没有类似栈的操作,如果没有那就要自己写一个栈的数据结构,然后构造两个栈,依次将字符串中的数组按数据和操作符分别存入两个栈,存入操作符时与栈顶元素进行优先级判断,若优先级高则存入栈中,若优先级低则将栈顶的操作符取出与数据栈中取出的两个元素进行运算,将计算结果存入数据栈中,这样不断存入-运算直至字符串中的元素都存完,然后就是数据栈中取两个值与符号栈中的栈顶符号运算,结果存入数据栈,直至运算完,最后结果在数据栈中。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马