假设你有一行 String condition = "A or B and C";
语句,请问怎么做才能变成一行真正的逻辑表达式(能在计算机中运行计算)?
Resolution
- 声明一个
List<List<String>>
结构; - 先分割 or ;
变成 [ A, B and C ] - 不包含and的,插入
List<List<String>>
结构;
List<List<String>>
.add( [A] ) - 声明一个
List<String>
, 再分割 and;
List<String>
.add(B);
List<String>
.add(C); - 把④加入
List<List<String>>
结构,
List<List<String>>
.add( [B, C]); - 最终
List<List<String>>
结构如下:
[ [A], [B,C] ] - 这个
List<List<String>>
结构里面的条件语句就是任意一行必须为真语句,简而言之:判断A是不是为真,A为真则整个结构都为真, 或者判断[B, C]是否都为真,如果都为真则整个结构都为真。以此类推。
Practice
If it were A or B and C and D or E
, what would you do?