比如:min x1*x2+3x3^2+x2*x4
      x1+x2+x3=1
      x2^2-30>=0读取出来以后要知道多少变量,并且可以赋值

解决方案 »

  1.   

    很简单的一个代码,自己在改一下。/**
     * 此版本只是粗糙的模拟了要实现的功能。可能还存在很多安全隐患和bug
     * 
     * **/
    public class TestVar {
    public static void main(String args[]){
    String str = "1+x1+x2+x3=1";
    String strb = setX(str,"y1","y2","y3");
    System.out.println(strb);
    }

    /**
     * 获取参数个数
     * */
    public static int getvarLength(String str){
            String [] astr =str.split("x");
    return astr.length-1;
    }

    /**
     * 传入要修改的string和参数
     * String变量形如x1,x2...
     * */
    public static String setX(String str,String... stringArray){
      String modStr = str;
      for(int i = 0; i<stringArray.length ; i++){
      int index = i+1;
      modStr = modStr.replaceAll("x"+index, stringArray[i]);
      }
      return modStr;
    }}
      

  2.   


    给你个提示吧 看看 Math 你上边的都可以解释的
      

  3.   

    这个程序只是给了点启发,离我想要的效果还有点远。
    我在写一个优化程序,首先要把目标函数和约束条件读进来,在这,约束条件是 x1+x2+x3=1;
      x2^2-30>=0。 目标函数是min x1*x2+3x3^2+x2*x4,求最小。