如何在Java中添加分数

时间:2014-11-08 00:06:18

标签: java math fractions

我正在尝试制作一个添加两个分数的简单程序。

    public static void add(int nom1, int denom1, int nom2, int denom2){

    int comd = denom1*denom2; //creates common denominator by multiplying both denominators

    int answer = nom1*nom2+nom1*nom2; //attempting to get answer (not working very well)

    System.out.println(nom1+"/"+denom1+" + "+nom2+"/"+denom2+" = "+answer+"/"+comd); // outputs   test like 1/2 + 4/8 = 8/8

    start(); // restarts the program
}

不幸的是,我找到总和的计算不起作用,我无法想出另一种方法。提前感谢任何帮助过的人。对不起,如果这似乎是noobish,但我找不到任何可以理解的在线工作。

5 个答案:

答案 0 :(得分:4)

我很确定它应该是:

int answer = nom1*denom2 + nom2*denom1;

而不是:

int answer = nom1*nom2+nom1*nom2;

答案 1 :(得分:1)

试试这个

public static void add(int nom1, int denom1, int nom2, int denom2){

    int comd = denom1*denom2; //creates common denominator by multiplying both denominators

    int newNomAnswer = nom1*denom2 + nom2*denom1;


    System.out.println(nom1 + "/" + denom1 + " + " + nom2 + "/" + denom2 + " = " + newNomAnswer + "/" + comd);

    start(); 
}

答案 2 :(得分:1)

尽管jrahhali的回答是正确的。如果您选择添加超过2分数,我的版本可以很好地扩展。

 int comd = denom1 * denom2;
 int answer = (comd/denom1 * nom1) + (comd/denom2 * nom2);

 System.out.println(nom1 + "/" + denom1 + " + " + nom2 + "/" + denom2 
                    + " = " + answer + "/" + comd);
  

这是因为我没有像他那样跳过师。

答案 3 :(得分:0)

在Java中添加两个分数的方法是首先找到两个分母中的Least Common Multiple (LCM):denom = lcm(denom1,denom2)。这是答案的分母。

然后,您可以使用以下公式查找提名者:nom = denom / denom1 * nom1 + denom / denom2 * nom2。

最后,您可以通过将分子和分母除以Greatest Common Divisor (GCD)来简化分数。试试with this online widget

答案 4 :(得分:-1)

我所做的不是每次都说nom和denom,而是说commDeno和totNum。代码:

Public void AddFraction(int nom, int denom, int nom2, int denom2){

  Int comD, totNom;

  Nom = nom*denom2;
  Nom2 = nom2*denom;
  totNom =num+num2;
  comD = denom*denom2;
  Sysout(totNum + "/" +comD);

}