这里有你需要的东西
好运!~
http://dev.csdn.net/article/30/30807.shtm

解决方案 »

  1.   

    yaiba
    你说用正则表达式能实现让某个数除以100?
      

  2.   

    import java.text.*;abstract class ObjectFormatter
    {
    ObjectFormatter(){}
    protected String format(){return "";}
    public String toString()
    {
    return format();
    }
    }
    class DivideFormatter extends ObjectFormatter
    {
    private int dividend;
    private int divisor=1;
    DivideFormatter(int divisor,int dividend)
    {
    if(divisor!=0)
    this.divisor=divisor;
    this.dividend=dividend;
    }
    public void setDivisor(int divisor)
    {
    if(divisor!=0)
    this.divisor=divisor;
    }
    public void setDividend(int dividend)
    {
    this.dividend=dividend;
    }
    protected String format()
    {
    return Integer.toString(dividend/divisor);
    }
    }
    public final class Main
    {
      public static void main(String arg[])
      {
             //下面的100和300可以换成用户输入的数字
       Object[] args={new DivideFormatter(100,300)};
    System.out.println(MessageFormat.format("leadingString{0}",args));
      }
    }输出结果leadingString3只需要继承ObjectFormatter,覆盖format函数即可
      

  3.   

    谢谢 Banned(Evil) 
    我还是想让用户输入诸如{0}/{1}这样的字符串
    然后提供参数300,100
      

  4.   

    得写数学表达式的解析函数,如javascript中的eval函数一般于是问题转化为1 用MessageFormat来Format {0}/{1}+{2}*{3} 之类的数学表达式
      得到诸如之类具体的数学表达式 100/10+234*2342 eval("100/10+234*234")3 用MessageFormat来Format eval出来的结果
      

  5.   

    从http://umn.dl.sourceforge.net/sourceforge/jeplite/jeplite-0.8.7a-bin.jar
    下载jeplite包
    import java.text.*;
    import org.cheffo.jeplite.*;
    ...
    JEP jep = new JEP();
    jep.addStandardConstants();
    jep.addStandardFunctions();
    MessageFormat mf=new MessageFormat("{0}*{1}-{2}/{3}+sin({4})");
    Object[] arg={new Integer(10),new Integer(20),new Integer(8),new Integer(4),"pi/2"};
    String expression=mf.format(arg);
    jep.parseExpression(expression);
    arg=new Object[1];
    arg[0]=new Double(jep.getValue());
    System.out.println(MessageFormat.format(expression+"={0}",arg));输出结果:10*20-8/4+sin(pi/2)=199如果想要更好更完美更自动化的效果就得自己另外写一些代码了,这些代码可以组合利用
    上面的代码。