gpt4 book ai didi

java - 帮我解决这个 Java 代码

转载 作者:行者123 更新时间:2023-12-01 06:58:23 24 4
gpt4 key购买 nike

问题:

matrix m1 = new matrix(); // should produce a matrix of 3*3

matrix m2 = new matrix(5,4); //5*4

matrix m3 = new matrix(m2); //5*4

复制构造函数中应该有什么来创建与 m2 阶数相同的新矩阵 m3?

 public class matrix {

int a[ ][ ];

matrix(){
a = new int[3][3];
}

matrix(int x, int y){
a= new int [x][y];
}

matrix (matrix b1){
//how to use value of x and y here....
}

void show(){

System.out.println(a.length);
for(int i=0;i<a.length;i++){
System.out.print(a[i].length);
}
}
}




public class matrixtest {

public static void main(String [ ] args){

matrix a = new matrix();
matrix b = new matrix(5,4);
matrix c = new matrix (b);
a.show();

b.show();

c.show();
}

}

注意:除了数组 a 之外,不能使用任何额外的实例变量。

接受的答案:@Chankey:this(b1.a.length,b1.a[0].length); –John

最佳答案

在矩阵类中存储行数和列数,并为它们创建 getter。

public class Matrix {
int[][] a;
int rowNum;
int colNum;

//...
public Matrix(Matrix b) {
a=new int[b.getRowNum()][b.getColNum()];
this.rowNum = b.getRowNum();
this.colNum = b.getColNum();
}

public int getRowNum() {
return this.rowNum;
}


}

关于java - 帮我解决这个 Java 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5675259/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com