如何将分数添加到arraylist
中,然后将其检索并存储在局部变量中?
问题:
创建第二个类,可以使用ArrayList
分数存储多个Fraction类对象。这个类应该有一个名为demo的方法,它按顺序执行以下操作:
将fraction1乘以fraction2
反转fraction1
使用toString
打印出fraction1。
我很困惑,主要需要帮助解决前两个问题。我想自己尝试一下,但我只需要稍微推动一下或如何做。
到目前为止,我有 -
第二课:
import java.util.ArrayList;
public class MyFractions
{
private ArrayList<Fraction> fractions;
public MyFractions()
{
ArrayList<Fraction> fractions = new ArrayList<Fraction>();
}
public void demo()
{
fractions.add();
}
}
分数等级:
public class Fraction
{
private long numerator;
private long denominator;
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中添加Fraction对象,则需要为add方法提供一个参数,该参数将是您尝试添加的Fraction对象。
public void demo(Fraction obj)
{
fractions.add(obj);
}
现在,您可以通过执行以下操作将 以下是一种可用于从分数集合中检索分数的方法(此方法适用于MyFractions类)MyFractions mFractions = new MyFractions();
mFractions.demo(new Fraction(1, 2)); // adds the fraction 1/2 to the arraylist
public Fraction getFraction(int index)
{
return fractions.get(index);
}
答案 1 :(得分:0)
要添加分数,请尝试以下操作:fractions.add(new Fraction(1, 4));
检索派系:Fraction fraction1 = fractions.get(0)
,以检索第一个分数