Упрощение дробей с помощью 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);
        }   
}

person user759630    schedule 30.07.2011    source источник
comment
Возможно, сначала вы захотите принять ответы на некоторые из ваших предыдущих вопросов.   -  person mdm    schedule 30.07.2011
comment
Почему вы не используете Commons Math?   -  person Michael-O    schedule 30.07.2011


Ответы (2)


Упрощать дроби легко, если вы можете выполнить следующие шаги:

  1. найти gcd как num, так и den, так что у вас есть gcd=GCDFind(gcd, num);
  2. теперь, если gcd==1, то дробь не может быть упрощена (она уже в упрощенном виде).
  3. если gcd > 1, то newNum = num/gcd; и новыйDen = den/gcd;

Это все, что вам нужно, я думаю.

gcd означает Greates Common Divisor... Код легко найти, и я только что погуглил, что внедрение JavaScript работает следующим образом за несколько секунд: http://www.calculla.com/en/fraction

person Roman Pietrzak    schedule 30.07.2011
comment
Я уже это знаю, каков алгоритм НОД? так как я хочу получить числитель и знаменатель в самой низкой форме - person user759630; 30.07.2011

Вы можете взглянуть на эти ссылки, они могут быть полезны

  1. http://www.daniweb.com/software-development/java/threads/13663
  2. http://www.dreamincode.net/forums/topic/64342-reduction-a-fraction/
  3. упрощение дробей в Java

и многое другое..

person DaMainBoss    schedule 30.07.2011