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);
}