2016-10-21 142 views
0

如何將分數添加到arraylist中,然後檢索並將它們存儲在局部變量中?Java存儲對象

問題: 創建第二個類,可以使用分數的ArrayList存儲許多分數類對象。這個類應該有一個名爲演示方法,做以下順序:

  • 創建四個部分對象(1/4,2/4,3/4,4/1),並將其存儲在 集合。
  • 從列表中檢索第一個分數,並將 存儲在名爲fraction1的局部變量中。從列表中檢索第二部分 並存儲在名爲fraction2的局部變量中。
  • 還必須調用fraction1傳遞fraction2作爲參數的equal方法。
  • 乘以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(); 
    } 
    } 

Fraction類:

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

除了下面的答案,當試圖利用類似ArrayList的東西時,使用Java API作爲參考可能會有所幫助。總的來說,這對於任何使用Java編程的人來說都是一個很好的參考資料,並且可以解答您的問題和其他問題:https://docs.oracle.com/javase/7/docs/api/ – ClownInTheMoon

回答

1

如果您希望能夠以一個分數對象添加到您的分數你的ArrayList需要給你的add方法一個參數,這個參數是你試圖添加的Fraction對象。

public void demo(Fraction obj) 
{ 
    fractions.add(obj); 
} 

現在你可以做一個分數對象添加到您的分數的ArrayList中的以下

MyFractions mFractions = new MyFractions(); 
mFractions.demo(new Fraction(1, 2)); // adds the fraction 1/2 to the arraylist 

這裏是你可以用它來從你的分數集合中檢索分數(此方法是一種方法在MyFractions類)

public Fraction getFraction(int index) 
{ 
    return fractions.get(index); 
} 
0

要添加一個分數,請嘗試以下操作:fractions.add(new Fraction(1, 4));

獲取一個派別:Fraction fraction1 = fractions.get(0),檢索第一部分