2016-10-22 20 views
0

FractionのArrayListを使用して任意の数のFractionクラスオブジェクトを格納できるMyFractionsという2番目のクラスを作成する必要があります。別のクラスのオブジェクトのArrayListを作成して操作する

それから、次の処理を行い方法を持っている必要があります。

  1. は(端数値を表す)の4つのオブジェクトを作成し、コレクションに格納します。
  2. リストから最初の小数点を取り出し、それをローカル変数に格納します。
  3. arraylistから取得された分数の異なるメソッドを呼び出します。

これは私がこれまで持っているものです。

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

} 

}

そしてここでは、分数クラスです:

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

}

私が見えることはできませんリストからアイテムを取得する方法を理解する。私は別の反復を使用しようと何も動作するようです。

+1

はあなたがこれまでに試したものを共有することはできても繰り返す必要がありますか? – Moonstruck

答えて

1

リストから項目を取得するには、ArrayList.get()を使用します。

それとも、コレクションを反復処理することができます。

for (final Fraction fraction : fractions) { 
    System.out.println(fraciton.toString()); 
} 

toString()場合、あなたがしたいものは何でもメソッドを呼び出します。

+0

ありがとう、この特定のケースでは、私はその配列から2つのオブジェクトを2つだけ割り当てる必要がありましたが、これは将来の参照のためには良いことです。 – kpinz

0

ArrayList.get()を使用できます。 タスクが最初のオブジェクトを取得してローカル変数に格納する場合は、以下を実行する必要があります。

Fraction fraction1 = fractions.get(0); 

あなたの最終的な目標は、それらの一つ一つを取得することである場合は、ArrayListの

+0

@kpinz喜んで助けてください。 –

関連する問題