問題:幫我這個Java代碼
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
應該是什麼那裏的拷貝構造函數,使同一順序的一個新的矩陣M3爲M2的?
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();
}
}
注意:您不能使用任何額外的實例變量數組時除外。
接受的答案:@Chankey:this(b1.a.length,b1.a [0] .length); - John
使用一個新的= INT [b1.a.length] [b1.a [0]。長度]。 – 2011-04-15 10:20:04
'this(b1.a.length,b1.a [0] .length);' – 2011-04-15 10:20:45
只需要添加,它是**首選**,您的類名以大寫字母開頭。 – 2011-04-15 10:25:39