使用java简化分数

时间:2011-07-30 10:42:28

标签: java numbers rational-number fractions

嘿伙计们我在这里工作SW我有点需要帮助,你看我们需要制定一个方法,我们将简化分数。任何想法怎么样?这是我现在的代码(不介意dvalue方法它已经finsih我需要的只是简化方法)

public class Fraction {

    public int num;
    public int den;
    public double dValue;

    public void display()
    {
        System.out.println("Numerator: "+num);
        System.out.println("Denominator: "+den);
    }

    public double dValue()
    {
        dValue = (double)num/den;
        return dValue;
    }


}

public class FractionTest {

        public static void main(String args[])
        {
            Fraction f = new Fraction();
            f.num = 50;
            f.den = 100;
            f.display();

            double d = f.dValue();
            System.out.println(d);
        }   
}

2 个答案:

答案 0 :(得分:6)

如果您可以按照以下步骤简化分数:

  1. 找到num和den的gcd,所以你有gcd = GCDFind(gcd,num);
  2. 现在,如果gcd == 1,那么分数不能简化(它已经是简化形式)。
  3. 如果gcd> 1,然后newNum = num / gcd;和newDen = den / gcd;
  4. 这就是我想要的一切。

    gcd代表Greates Common Divisor ......代码很容易找到,我只是在几秒钟内用Google搜索JavaScript实现:http://www.calculla.com/en/fraction

答案 1 :(得分:0)