我正在尝试制作一个添加两个分数的简单程序。
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,但我找不到任何可以理解的在线工作。
答案 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);
}