用java简化分数



嘿,伙计们,我在这里工作的SW我有点需要帮助,你看,我们需要做一个方法,我们将简化分数。知道怎么做吗?这是我现在的代码(不要介意dvalue方法,它已经完成了,我需要的只是简化方法)

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);
        }   
}

如果你能遵循以下步骤,简化分数是很容易的:

  1. 查找num和den的gcd,所以你有gcd=GCDFind(gcd, num);
  2. 现在,如果gcd==1,则分数不能简化(它已经是简化形式)。
  3. 如果gcd> 1,则newNum = num/gcd;and newDen = den/gcd;

我想这就是你所需要的。

gcd代表大公约数…代码很容易找到,我只是在几秒钟内谷歌了一下这样工作的JavaScript实现:http://www.calculla.com/en/fraction

你可以看看这些链接,它们会很有帮助的

  1. http://www.daniweb.com/software-development/java/threads/13663
  2. http://www.dreamincode.net/forums/topic/64342-reducing-a-fraction/
  3. 简化Java分数

和更多…

相关内容

  • 没有找到相关文章

最新更新