1

嘿伙计们,我在这里做一个软件,我有点需要帮助,你看我们需要制定一种方法来简化分数。知道怎么做吗?这是我现在的代码(不要介意 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);
        }   
}
4

2 回答 2

7

如果您可以遵循以下步骤,则简化分数很容易:

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

我想这就是你所需要的。

gcd 代表 Greates Common Divisor... 代码很容易找到,我只是在几秒钟内搜索了 JavaScript 实现以这种方式工作:http: //www.calculla.com/en/fraction

于 2011-07-30T10:48:04.367 回答
0

您可以查看这些链接,它们可能会有所帮助

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

还有很多..

于 2011-07-30T11:18:38.297 回答