如何判断String表达式为真,假设有Stringa="1+1>0",如何使得if(a==true)成立,就是说如何判断a表达式真
答案:2 悬赏:10
解决时间 2021-12-15 04:02
- 提问者网友:生亦何欢
- 2021-12-14 05:41
如何判断String表达式为真,假设有Stringa="1+1>0",如何使得if(a==true)成立,就是说如何判断a表达式真
最佳答案
- 二级知识专家网友:努力只為明天
- 2021-12-14 07:15
首先,String a = 1; 和 int b = 1; 是完全不同的。字符跟数字的存储编码一般是不同的。
那一个字符串的含义是否能表示为真,自然只有你自己知道。 + 是什么意思也只有你知道。
就像我可以定义"1#1@2" 或者 用A表示11,B表示12等等。。
所以:你需要编写一个方法,用来解析字符串(解析规则只有你知道)。如果只是这种算式,可以参考"逆波兰式(去google百度一下吧)"。
当然,这类问题不是完全无解的。
结合动态字节码、反射等技术是完全可以实现的,不过代价很高,你的问题不需要这么做;甚至你都可以通过文件流,生成一个java源文件,把给定的字符串算式写入,然后动态编译执行它(仅有JRE的环境会失效)
那一个字符串的含义是否能表示为真,自然只有你自己知道。 + 是什么意思也只有你知道。
就像我可以定义"1#1@2" 或者 用A表示11,B表示12等等。。
所以:你需要编写一个方法,用来解析字符串(解析规则只有你知道)。如果只是这种算式,可以参考"逆波兰式(去google百度一下吧)"。
当然,这类问题不是完全无解的。
结合动态字节码、反射等技术是完全可以实现的,不过代价很高,你的问题不需要这么做;甚至你都可以通过文件流,生成一个java源文件,把给定的字符串算式写入,然后动态编译执行它(仅有JRE的环境会失效)
全部回答
- 1楼网友:专属的偏见
- 2021-12-14 08:39
期待看到有用的回答!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯