Java分数数组

时间:2018-02-08 16:46:32

标签: java arrays class object

我是面向对象编程的新手,我正在尝试为Fraction类创建方法。我创建了方法getNumerator(),getDenominator()和realValue()。现在我想创建一个名为createFractionArray的方法,它返回一个Fraction对象数组:

1/2, 1/3, ... , 1/(maxDenominator - 1) , 1/(maxDenominator) 

到目前为止我有这个,但是在弄清楚方法的陈述时,我只是空白了。任何入门帮助将不胜感激。谢谢!

class Fraction {
  private int numerator, denominator;
  Fraction(int numerator, int denominator) {

    this.numerator = numerator;
    this.denominator = denominator;
  }
    int getNumerator() { return numerator; }
    int getDenominator() { return denomenator; }
    double realValue() { return (1.0 * numerator) / denominator; }
 }

这是我想要实施的方法:

public static Fraction[] generateFractionArray (int maxDenominator) {
}

2 个答案:

答案 0 :(得分:0)

您想要从Fraction1/2创建一个1/maxDenominator的数组。

首先,你必须弄清楚会有多少个物体。例如,对于maxDenominator = 5,您将获得分数[1/2, 1/3, 1/4, 1/5]。总共有4个分数。现在,基于第一个分母和maxDenominator,您可以找到计算长度的公式

  

length = maxDenominator - minDenominator + 1

现在你需要做的就是Administering Jenkins这个长度。

之后,create an array该数组从minDenominatormaxDenominator包含,并在数组的每个索引处保存一个新的Fraction对象。但要注意指数。

  

指数从0开始,但您的循环从minDenominator开始。因此,要获得正确的索引,必须在使用该数字访问数组之前减去minDenominator

答案 1 :(得分:0)

以下是从1/1到1 / maxDenominator创建分数的代码。您所要做的就是修改它以满足您的要求。

public class PHPConnecteur extends AsyncTask<String, Integer, myClass>{

  @Override
  protected void onPostExecute(final myClass result) {
    //do something
  }

}

注意:当maxDenominator = 0或= 1或&lt;时,你应该做什么/返回什么? 0.

祝你好运!