Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.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 - Fatal编程技术网

Java分数加法

Java分数加法,java,Java,我在这个问题上搜索了几个小时,但没有找到解决方案: 公共细分接口添加(细分接口操作数){ 整数分子=num*operand.den+operand.num*den; int分母=den*操作数.den; 返回新分数(分子、分母); } 到目前为止,我发现的每个示例都是这样做的,但当我尝试这样做时,它不会编译,并且每个操作数都会出现三次错误。*: error: cannot find symbol int numerator = num*operand.den + ope

我在这个问题上搜索了几个小时,但没有找到解决方案:

公共细分接口添加(细分接口操作数){
整数分子=num*operand.den+operand.num*den;
int分母=den*操作数.den;
返回新分数(分子、分母);
}
到目前为止,我发现的每个示例都是这样做的,但当我尝试这样做时,它不会编译,并且每个操作数都会出现三次错误。*:

error: cannot find symbol
            int numerator = num*operand.den + operand.num*den;
                                       ^
symbol:   variable den
location: variable operand of type FractionInterface

num和den是私有整数。我做错了什么?我应该发布整个程序吗?这是一个家庭作业问题,因此必须使用这种方法完成。

您需要使用公共访问器方法访问私有
num
den

如果相应的访问器方法是
getNum()
getDen()


您需要使用公共访问器方法访问私有
num
den

如果相应的访问器方法是
getNum()
getDen()


我相信为了让您能够访问操作数参数的den和num成员,必须将它们声明为公共或受保护。

我相信为了让您能够访问操作数参数的den和num成员,它们必须声明为公共或受保护。

我假设
细分接口是一个接口。
操作数
的实际类尤其未知,它甚至可能没有成员字段
num
den
。(不允许假设它是
分数的实例)


接口
FractionInterface
应该定义访问器方法来检索分子和分母的值。使用这些函数可以从
操作数

中获取所需的值。我假定
细分接口
是一个接口。
操作数
的实际类尤其未知,它甚至可能没有成员字段
num
den
。(不允许假设它是
分数的实例)


接口
FractionInterface
应该定义访问器方法来检索分子和分母的值。使用这些值可以从
操作数

操作数中获取所需的值。den似乎不是int类型,因此无法添加它们。你应该发布你的FractionInterface类/接口你不能像那样引用类的私有成员。你在哪里声明你的add方法(我问它是否类似于类操作数)?在java中,声明为private的字段不能在类外访问(在您的例子中是其细分接口),因此您不能在该类外“看到”den变量。它是一个私有变量,因此,如果没有诸如getNum()和getDen()之类的访问器方法,您将无法访问它;此外,接口中不能有私有变量,这些变量必须是公共的/静态的/最终的。大概
Fraction
是实现
FractionInterface
接口的类?那么,
FractionInterface
接口中有哪些方法可以让我们得到分数的分子和分母呢?为什么要拆分这样一个接口,而不这样做可能更有意义?operand.den似乎不是int类型,所以不能添加它们。你应该发布你的FractionInterface类/接口你不能像那样引用类的私有成员。你在哪里声明你的add方法(我问它是否类似于类操作数)?在java中,声明为private的字段不能在类外访问(在您的例子中是其细分接口),因此您不能在该类外“看到”den变量。它是一个私有变量,因此,如果没有诸如getNum()和getDen()之类的访问器方法,您将无法访问它;此外,接口中不能有私有变量,这些变量必须是公共的/静态的/最终的。大概
Fraction
是实现
FractionInterface
接口的类?那么,
FractionInterface
接口中有哪些方法可以让我们得到分数的分子和分母呢?既然不这样做可能更有意义,为什么还要拆分这样的接口呢?谢谢!!在这么简单的事情上浪费了几个小时哈哈。我已经有了Get方法,我只是不知道我可以用它们来做这个。谢谢非常感谢。在这么简单的事情上浪费了几个小时哈哈。我已经有了Get方法,我只是不知道我可以用它们来做这个。谢谢
public FractionInterface add(FractionInterface operand) {

    int numerator = num*operand.getDen() + operand.getNum()*den;
    int denominator = den*operand.getDen();

    return new Fraction(numerator, denominator);
}