Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
添加分数(Java)_Java_Fractions - Fatal编程技术网

添加分数(Java)

添加分数(Java),java,fractions,Java,Fractions,在这个程序中,要求用户输入代表两个分数的4个整数 先问第一个的分子,然后问分母。 然后问第二个的分子和分母 程序应将两个分数相加并打印出来 结果呢 我不知道如何把分数相加 public class AddFractions extends ConsoleProgram { public void run() { int nffraction = readInt("What is the numerator of the first fraction?: ");

在这个程序中,要求用户输入代表两个分数的4个整数

先问第一个的分子,然后问分母。 然后问第二个的分子和分母

程序应将两个分数相加并打印出来 结果呢

我不知道如何把分数相加

public class AddFractions extends ConsoleProgram
{
    public void run()
    {
        int nffraction = readInt("What is the numerator of the first fraction?: ");
        int dffraction = readInt("What is the denominator of the first fraction?: ");
        int nsfraction = readInt("What is the numerator of the second fraction?: ");
        int dsfraction = readInt("What is the denominator of the second fraction?: ");
        int sum = 
        System.out.print(nffraction + "/" + dffraction + " + " + nsfraction + "/" + dsfraction + "=" + sum);
    }
}

这是预期的输出“1/2+2/5=9/10”,但我无法计算出“=9/10”部分。

要得到两个法郎的总和
a/b+c/d
,需要执行
(a*d+c*b)/b*d

以你为例:

int numerator = (nffraction * dsfraction + nsfraction * dffraction)
int denominator = dsfraction * dsfraction
System.out.print(nffraction + "/" + dffraction + " + " + 
nsfraction + "/" + dsfraction + "=" + numerator + "/" + denominator);

但是,这并不能简化为分数的最简单形式。

互联网上有很多,可能是1000个代码片段中的10个,都有解决这个问题的方法。你只需要在谷歌上搜索它,然后选择你喜欢的方法。你可以A)创建一个能够将分数直接转换为分数的方法,或者B)将分数转换为双精度,然后再转换回来。