public static void main(String[] args) {
int a = 1;
int b = 2;
String str = "a-b<0";
if(a-b<0){
System.out.println("******");
}
}如题,如何将
if(a-b<0){替换成类似if(str){来作为判断?提出思路也可以的,谢谢
解决方案 »
- 链接数据库
- JSP表单验证失败后,怎么改变表单错误部分的背景色?
- java,struts2小问题
- ssh一些设计疑问
- Struts+Spring+Hibernate+Tomcat6.0.10的问题????
- 我是一个文科生JAVA程序员,迷惑了……大家帮下忙啊 ^-^
- 熟悉hibernate的人请进。请问用hibernate如何处理多个数据库更新的问题。
- 有谁知道哪有struts的电子文档啊(中文)
- 求一个struts的二进制包,收到一定给分
- (想请客有没有人赏脸?)为什么我的java程序在更新库时总会死掉
- SSH怎么整合?Struts+Hibernate+Spring那些版本兼容?
- java bean连接MySQL数据库的问题
就算是要求str="2-1"都相当麻烦
用apache的JexlEngine
http://blog.csdn.net/xuhuanchao/article/details/5536208
boolean str=(a-b<0)?true:false;更方便的就是直接使用计算结果来判断。能解决问题就行了,干嘛非要整得那么让人不可思议呢。一家之言,楼主莫怪啊
JEXL 引擎可以计算String中的表达式
另外,若是jdk1.6的话,可以直接使用ScriptEngineManager用js的eval进行计算
然后感谢2楼,JEXL是正解。因为JAVA属于编译后执行语言,所以必须从框架上想办法,或则考虑反射。另EVAL我尝试了一下,貌似是解决四则运算,这样的话,我使用逆波兰表达式已经解决了,谢谢。另外5楼,我替你的语文老师感到悲哀,看不懂的情况下轻易的下达了结论,而且对提问者毫无帮助,你何必打这几个字自取其辱呢。