日期:2014-05-20  浏览次数:20725 次

分数计算,谁有精简办法?
一个分数加上另一个分数
最后的结果要输出分数
例如:
3/5+1/2
最后结果要11/10
不要小数

------解决方案--------------------
求最小公倍数即可。
以下代码供楼主参考
Java code

public class FractionAdd {

    public static void main(String[] args) {
        int x1 = 3; int y1 = 5;  // 3/5
        int x2 = 1; int y2 = 2;  // 1/2
        int y3 = y1 / gcd(y1, y2) * y2;
        int x3 = y3 / y1 * x1 + y3 / y2 * x2;
        System.out.printf("结果是%d/%d", x3, y3);
    }

    static int gcd(int a, int b){ 
        a = a % b;
        if (a==0) return b;
        else return gcd(b, a);
    }
}

------解决方案--------------------
Apache Commons Lang 或者 Apache Commons Math 包,里面有分式计算类。