为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

侃侃尔雅 2024-01-28 16:18:58
我本质上是想找到一种更好的方法来使用循环编写此代码。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);
查看完整描述

2 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

假设你有一个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);


查看完整回答
反对 回复 2024-01-28
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

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


下面的例子:


       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


查看完整回答
反对 回复 2024-01-28
  • 2 回答
  • 0 关注
  • 30 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信