Упрощение дробей с помощью Java - PullRequest
0 голосов
/ 30 июля 2011

Привет, ребята, я работаю над 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);
        }   
}

Ответы [ 2 ]

6 голосов
/ 30 июля 2011

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

  1. найти gcd как num, так и den, поэтому у вас есть 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

0 голосов
/ 30 июля 2011

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

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

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

...