作为我必须为我的课程所做的任务的一部分,我必须创建一个ADT文件,该文件将接受分数的分子和分母的用户输入,比较两者,并确定分数是否相等,然后测试它一个线束类。
我遇到的其中一个问题是我必须有一个equals (Fraction f)方法,它使用以下公式比较两者:return getNum()f.getDenom() == f.getNum()getDenom();。
这是我的课程到目前为止的代码:
public class Fraction {
int numerator;
int denominator;
//default constructor
public Fraction() {
numerator = 0;
denominator = 0;
}
public Fraction(int newNum, int newDenom) {
numerator = newNum;
denominator = newDenom;
}
//accessor
public void setNewNum(int newNum) {
numerator = newNum;
}
public void setNewDenom(int newDenom) {
numerator = newDenom;
}
public int getNum(int newNum) {
return newNum;
}
public int getDenom(int newDenom) {
return newDenom;
}
//Error here - "Methods getNum/getDenom in class Fraction cannot be applied to the given types:"
public boolean equals(Fraction f) {
return getNum()*f.getDenom() == f.getNum()*getDenom();
}
}阅读NetBeans中的错误消息说"actual and formal argument lists differ in length."我试图找出我做错了什么,但我的印象是newNum和newDenom已经返回整数值,因为newNum和newDenom被设置为等于分子和分母。
先谢谢你。