如何判断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
那一个字符串的含义是否能表示为真,自然只有你自己知道.+ 是什么意思也只有你知道.
就像我可以定义"1#1@2" 或者 用A表示11,B表示12等等.
所以:你需要编写一个方法,用来解析字符串(解析规则只有你知道).如果只是这种算式,可以参考"逆波兰式(去google百度一下吧)".
当然,这类问题不是完全无解的.
结合动态字节码、反射等技术是完全可以实现的,不过代价很高,你的问题不需要这么做;甚至你都可以通过文件流,生成一个java源文件,把给定的字符串算式写入,然后动态编译执行它(仅有JRE的环境会失效)
再问: 因为我那个String值是程序动态生成的,但生成的话只能是String型,然后再去判断这个值是否为真或者为假,大虾还有没有其他的办法啊
再答: 程序员应该多动脑思考问题。我觉得我都跟你说的够明白了.... 还是帖代码吧,可能你比较喜欢这样的......................... http://blog.csdn.net/ScAREcrOw_ss/archive/2011/03/03/6220964.aspx
String s1 = "a"; String s2 = "b"; String str6 = s1 + s2; Sys
String s1="a"+"b"; String s2=newString(s1); 为什么s1==s2的值为fals
关于逻辑运算表达式假设A=true,B=false,C=true,D=true,逻辑运算表达式值为真的是{ (A∧B)∨
String str2 = "";
String.valueOf(a)和(String)a有什么区别?
以下合法的数组定义a.char a[]="string"; b.char a[6]="string";c.int a[5
假设有整型变量a=10,字符型变量b=‘1’,说明下面的表达式如何进行计算,表达式的值是多少:a+b
String sql = "select * from tb_consumer where account='" + a
英语翻译A rotating string.
string xmlpath = Application.StartupPath; try { if(File.Exis
c#中 s += (string.Format("{0}*{1}={2}",i,j,i * j)).PadRight(8
设A=B=D=True,C=Flase,以下逻辑运算表达式值为真的有