我必须创建一个名为MyFractions的第二个类,它可以使用分数的ArrayList存储任意数量的Fraction类对象。
然后需要有一个方法来执行以下操作:
这是我到目前为止所做的:
public MyFractions()
{
fractions = new ArrayList<>();
}
public void demo(String fractionname)
{
Fraction obj1 = new Fraction(2,3);
fractions.add(obj1);
Fraction obj2 = new Fraction(1,3);
fractions.add(obj2);
Fraction obj3 = new Fraction(4,3);
fractions.add(obj3);
Fraction obj4 = new Fraction(6,1);
fractions.add(obj4);
}
}
这是Fraction类:
public Fraction(long num, long den)
{
numerator=num;
denominator=den;
}
public Fraction(long num)
{
numerator=num;
denominator=1;
}
public long denominator()
{
return denominator;
}
public void dividedBy(Fraction otherFraction)
{
numerator=numerator*otherFraction.denominator;
denominator=denominator*otherFraction.numerator;
}
public boolean equals(long n)
{
return numerator==n;
}
public boolean equals(Fraction otherFraction)
{
return numerator==otherFraction.numerator && denominator==otherFraction.denominator;
}
public void negative()
{
numerator= -numerator;
}
public long numerator()
{
return numerator;
}
public void inverse()
{
long temp=numerator;
numerator=denominator;
denominator=temp;
}
public boolean isProper()
{
return numerator<denominator;
}
public void times(Fraction other)
{
numerator=numerator*other.numerator;
denominator=denominator*other.denominator;
}
public double toDouble()
{
return 1.0*numerator/denominator;
}
public String toString()
{
return numerator + "/" + denominator;
}
public boolean isWholeNumber()
{
return denominator==1;
}
}
我似乎无法弄清楚如何从列表中检索项目。我尝试使用不同的迭代,似乎没有任何工作。
答案 0 :(得分:1)
要从列表中检索项目,请使用ArrayList.get()
。
或者您可以遍历集合:
for (final Fraction fraction : fractions) {
System.out.println(fraciton.toString());
}
或者调用您想要的任何方法,如果不是toString()
。
答案 1 :(得分:0)
您可以使用ArrayList.get()。 如果您的任务是检索第一个对象并将其存储在局部变量中,则应执行以下操作。
Fraction fraction1 = fractions.get(0);
如果你的最终目标是检索它们中的每一个,那么你应该迭代Arraylist