练习方向
在这个练习中,你必须参加分数课程并通过添加一些方便的方法对其进行扩展。
public void add(Fraction other)
public void subtract(Fraction other)
public void multiply(Fraction other)
public int getNumerator();
public int getDenominator();
public void setNumerator(int x);
public void setDenominator(int x);
public String toString();
使用FractionTester文件进行测试。
注意
public void add(Fraction other)
public void subtract(Fraction other)
public void multiply(Fraction other)
是void方法。他们什么也不回。这些方法不应创建新的分数并返回。
相反,这些方法应该修改要添加、减去或乘以Fraction other的实例变量。
例如,以下代码:
Fraction first = new Fraction(1, 2);
Fraction second = new Fraction(1, 3);
System.out.println();
System.out.println("BEFORE:");
System.out.println("first: " + first);
System.out.println("second: " + second);
first.multiply(second);
System.out.println("AFTER:");
System.out.println("first: " + first);
System.out.println("second: " + second);
应打印出来:
之前:第一个:1/2第二:1/3
之后:第一个:1/6秒:1/3第一个分数被修改为乘以第二个分数。第一个受影响,第二个没有。1/2变成了1/6,因为它乘以了1/3。
这是我的代码:
public class Fraction
{
// Create your instance variables and constructor here
//Instance variables
private int num;
private int den;
//Constructor
public Fraction(int nume, int dene)
{
num = nume;
den = dene;
}
public void add(Fraction other)
{
Fraction a = num/den + other;
}
public void subtract(Fraction other)
{
Fraction b = num/den - other;
}
public void multiply(Fraction other)
{
Fraction c = num/den * other;
}
public String toString()
{
return "";
}
}
不能将int
(例如den或num(直接与Fraction
对象相乘。您需要dereference
传递的fraction参数,然后更新calling instance
的den
和num
组件。
这个
public void multiply(Fraction other) {
Fraction c = num/den * other;
}
需要用这个替换。
public void multiply(Fraction other) {
num = num * other.num;
den = den * other.den;
}
当你做加法或减法时,你需要找到共同的分母。