最后的结果是(a+b)+(c+d)
(a+b)+(c-d)
...等一系列表达式算出的值~

解决方案 »

  1.   

    没人知道吗??好吧,也不用算出值了,只要怎么写运算符循环就行了~
    就是写出能产生(a+b)+(c+d)
    (a+b)+(c-d)
    (a+b)-(c+d)
    ...能把四个运算符循环一次~~
      

  2.   

    帮你顶一下。
    多层for循环
    int length = operator.length;
    for (int i=0;i < length; i++) {
       (a operator[i] b) .. (c d);//伪码,自己实现
       for (int j=0 ; j < length ; j++) {
          (a operator[i] b ) operator[j] (c d); // 伪码,自己实现
          for (int k=0; k < length; k++ ) {
             (a operator[i] b ) operator[j] (c operator[k] d); // 伪码,自己实现
          }
       }
    }
      

  3.   

    给个建议,定义一个{1,2,3,4}数组,产生(1-4)的随机数N,然后取原操作符数组get[n-1]得到最后的运算符。
      

  4.   

    我这样实现了,好累啊~String[] operator = {"+","-","*","/"}; int oLength = operator.length; StringBuffer sb = new StringBuffer(); for(int i=0; i<oLength; i++) { sb.append(data[0]);
    sb.append(operator[i]);
    sb.append(data[1]);   for(int j = 0; j<oLength; j++) {   sb.append(operator[j]); for(int k = 0; k<oLength; k++) {

    sb.append(data[2]);
    sb.append(operator[k]);
    sb.append(data[3]);

    System.out.println(sb); sb.delete(sb.lastIndexOf(operator[k])-1,sb.length());
    }   sb.delete(sb.lastIndexOf(operator[j]),sb.length());
    } sb.delete(sb.lastIndexOf(operator[i])-1,sb.length());
    }