有没有办法使用循环来改善这段代码?

我实质上是在尝试找到一种更好的使用循环编写此代码的方法。 Rational和Matrix是我制作的类。要创建一个Matrix对象,我需要四个Rational对象。

       Rational r1 = r.multiplyValue(array[0][0]);
       Rational r2 = r.multiplyValue(array[0][1]);
       Rational r3 = r.multiplyValue(array[1][0]);
       Rational r4 = r.multiplyValue(array[1][1]);

       return new Matrix(r1,r2,r3,r4);
xzh16 回答:有没有办法使用循环来改善这段代码?

是的!您可以这样做,但必须使用一些存储同类对象的集合或数据结构,例如列表或数组。

以下示例:

       List<Rational> list  = new ArrayList<>();

       for(int i=0;i<=1;i++){
       for(int j=0;i<=1;j++){
           list.add(r.multiplyValue(array[i][j]));
       }

       }


       return new Matrix(list); // modify constructor to accept list
,

考虑到您有一个Matrix构造函数

public Matrix(Rational...rationals){
    // TODO: initialize stuff
}

然后您可以遍历数组并像这样构造Matrix对象

    int[][] array = // Something useful

    Rational[] rs = new Rational[4];
    for(int i=0;i<array.length;i++){
      for(int j=0;j<array[i].length;j++){
        rs[i*2+j] = r.multipleValue(array[i][j]);
      }
    }

    return new Matrix(rs);
本文链接:https://www.f2er.com/3169342.html

大家都在问