创建另一个类对象的ArrayList并对其进行操作

时间:2016-10-22 23:32:03

标签: java arrays

我必须创建一个名为MyFractions的第二个类,它可以使用分数的ArrayList存储任意数量的Fraction类对象。

然后需要有一个方法来执行以下操作:

  1. 创建四个对象(表示分数值)并将它们存储在集合中。
  2. 从列表中检索第一个分数并将其存储在局部变量中。
  3. 从arraylist中调用检索到的分数的不同方法。
  4. 这是我到目前为止所做的:

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

    }

    我似乎无法弄清楚如何从列表中检索项目。我尝试使用不同的迭代,似乎没有任何工作。

2 个答案:

答案 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