使用循环为数组赋值的方法
Method to assigned value to array using loop
如何编写一个方法来通过循环将一组值赋给多维数组?
double [][] A = new double [3][3];//
A_array[0][0]=1;
A_array[0][1]=2;
A_array[1][0]=3;
A_array[1][1]=4;
我可以按上面的方式写,但我想这样做 "dynamically";
public class Test {
public static void main(String[] args) {
double [] [] a = {{1,2,3},{4,5,6},{7,8,9}};
然后在数组中分配上述值的方法:
public class matrixloop {
private double [][]a;
public matrixloop ( double [][] a)
{
this.a=a;
}
public double [][] assigned_1 (double [][] a)
{
for (int c=0; c<3; c++)
for (int d = 0; d<3; d++)
this.a[c][d]=a[c][d];
return a;
}
但是这个方法不行,
好的,我对这个问题不是很确定,但我会尽力回答。基本上你想深拷贝一个矩阵?这里有几个问题:
- 我认为一个重要的风格提示是 class 名称应以大写字母开头。我知道这不会解决所有问题,但这是一个很好的做法。
- 您应该尝试用大括号围绕您的 for 循环 - 另一种风格提示,但我认为这对初学者很重要(不想出现愚蠢的语法错误)
- 如果你想循环一个矩阵 'dynamically' 那么你应该能够调整你的长度。简而言之——不要只是把 3 放在那里,而是使用数组的长度 属性。
在我继续深入之前,我会向您发送一些(希望如此)有用的资源:
Java array tutorial
Java style- because I think it's important...
Multi-Dimensional arrays
希望对您有所帮助。
=== 编辑 ===
如果你想转置一个 3*3 矩阵,那么你可以像这样使用 for 循环:
public double[][] transpose( double[][] oldMatrix ){
int size = 3;
double[][] newMatrix = new double[size][size];
for (int i = 0; i < size; i++){
for (int j = 0; j < size; j++){
newMatrix[j][i] = oldMatrix[i][j];
}
}
return newMatrix;
}
如何编写一个方法来通过循环将一组值赋给多维数组?
double [][] A = new double [3][3];//
A_array[0][0]=1;
A_array[0][1]=2;
A_array[1][0]=3;
A_array[1][1]=4;
我可以按上面的方式写,但我想这样做 "dynamically";
public class Test {
public static void main(String[] args) {
double [] [] a = {{1,2,3},{4,5,6},{7,8,9}};
然后在数组中分配上述值的方法:
public class matrixloop {
private double [][]a;
public matrixloop ( double [][] a)
{
this.a=a;
}
public double [][] assigned_1 (double [][] a)
{
for (int c=0; c<3; c++)
for (int d = 0; d<3; d++)
this.a[c][d]=a[c][d];
return a;
}
但是这个方法不行,
好的,我对这个问题不是很确定,但我会尽力回答。基本上你想深拷贝一个矩阵?这里有几个问题:
- 我认为一个重要的风格提示是 class 名称应以大写字母开头。我知道这不会解决所有问题,但这是一个很好的做法。
- 您应该尝试用大括号围绕您的 for 循环 - 另一种风格提示,但我认为这对初学者很重要(不想出现愚蠢的语法错误)
- 如果你想循环一个矩阵 'dynamically' 那么你应该能够调整你的长度。简而言之——不要只是把 3 放在那里,而是使用数组的长度 属性。
在我继续深入之前,我会向您发送一些(希望如此)有用的资源:
Java array tutorial
Java style- because I think it's important...
Multi-Dimensional arrays
希望对您有所帮助。
=== 编辑 ===
如果你想转置一个 3*3 矩阵,那么你可以像这样使用 for 循环:
public double[][] transpose( double[][] oldMatrix ){
int size = 3;
double[][] newMatrix = new double[size][size];
for (int i = 0; i < size; i++){
for (int j = 0; j < size; j++){
newMatrix[j][i] = oldMatrix[i][j];
}
}
return newMatrix;
}