比如我的一个字符串是这么写的 1&(2|3) 如何通过一种逻辑算法实现 1&2|1&3 这样的格式,而且还要支持扩展,字符串中用做运算的运算符只有& | 两种 。 当我的表达式的复杂度成这样的时候 
(1|2)&(3|4) = 1&3 | 2&3 | 1&4 | 2&4 这种效果该如何实现...

解决方案 »

  1.   

    有点类似冒泡法  2层循环
     for(int i=0;i<地一个长度;i++){
                  for(int j=0;j<i长度;j++){}              
                      }
      

  2.   

    感觉有点难度,只能给些建议
    (1|2)&(3|4) = 1&3 | 2&3 | 1&4 | 2&4 
    变成
    (1+2)*(3+4) = 1*3 + 2*3 + 1*4 + 2*4 
    再最后把符号换过来
    具体怎么弄还没想好
      

  3.   

    你用正则匹配  把第一个括号类的数字匹配出来,存入List1,然后把第二个括号里的数字匹配出来,存入list2,然后遍历