我在字符串中得到了一些这样的值:
( 1 or 0 or 1 ) and ( 0 or 1 ) and ( 1 and 1 ) and 1
为了更容易理解:
( true || false || true ) && ( false || true ) && ( true && true ) && true
整个字符串现在评估为" true" (1),但如何在程序中检查? 我可以做一些数学计算来得到结果" 1"或" 0"? 字符串不固定。它可以改变。 如果有人知道如何做到这一点,请分享。
它就像IF语句一样,您可以检查某个条件是真还是假。
类似的东西:
class TF{
public static void main(String args[]){
int a=5;
int b=10;
int c=5;
if( ( a==c || a==b || a==c ) && ( b==c || a==c ) && ( a==c && c==a ) && a==c ){ System.out.println("true"); }else{ System.out.println("false"); }
} }
同样,以下所有内容都是" false":
( true && false && true ) && ( false || true ) && ( true && true ) && true
( true || false || true ) && ( false || false ) && ( true && true ) && true
( true || false || true ) && ( false || true ) && ( true && true ) && false
答案 0 :(得分:2)
您可以使用Expression评估方法。 要了解方法,请参阅:http://www.geeksforgeeks.org/expression-evaluation/
如果您不想自己实现这种复杂的方法,可以使用库。链接到图书馆:https://github.com/uklimaschewski/EvalEx