作业帮 > 综合 > 作业

如何判断String表达式为真,假设有String a="1+1>0",如何使得if (a==true)成立,就是说如何

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 16:01:42
如何判断String表达式为真,假设有String a="1+1>0",如何使得if (a==true)成立,就是说如何判断a表达式真
首先,String a = 1; 和 int b = 1; 是完全不同的.字符跟数字的存储编码一般是不同的.
那一个字符串的含义是否能表示为真,自然只有你自己知道.+ 是什么意思也只有你知道.
就像我可以定义"1#1@2" 或者 用A表示11,B表示12等等.
所以:你需要编写一个方法,用来解析字符串(解析规则只有你知道).如果只是这种算式,可以参考"逆波兰式(去google百度一下吧)".
当然,这类问题不是完全无解的.
结合动态字节码、反射等技术是完全可以实现的,不过代价很高,你的问题不需要这么做;甚至你都可以通过文件流,生成一个java源文件,把给定的字符串算式写入,然后动态编译执行它(仅有JRE的环境会失效)
再问: 因为我那个String值是程序动态生成的,但生成的话只能是String型,然后再去判断这个值是否为真或者为假,大虾还有没有其他的办法啊
再答: 程序员应该多动脑思考问题。我觉得我都跟你说的够明白了.... 还是帖代码吧,可能你比较喜欢这样的......................... http://blog.csdn.net/ScAREcrOw_ss/archive/2011/03/03/6220964.aspx