Java 方法使用循环将值分配给数组
如何编写一个方法,通过循环将一组值分配给多维数组Java 方法使用循环将值分配给数组,java,arrays,for-loop,matrix,Java,Arrays,For Loop,Matrix,如何编写一个方法,通过循环将一组值分配给多维数组 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; 我可以用上面的方式写,但我希望“动态地”写 然后在数组中指定上述值的方法: public class matrixloop { private double [][]a; public matrixl
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;
我可以用上面的方式写,但我希望“动态地”写
然后在数组中指定上述值的方法:
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;
}
公共类matrixloop{
私人双[]a;
公共matrixloop(双[][]a)
{
这个a=a;
}
公共双精度[][]分配\u 1(双精度[][]a)
{
对于(int c=0;c好的,我不完全确定这个问题,但我会尝试回答。基本上你想深度复制一个矩阵?这里有几个问题:
我认为一个重要的风格提示是,类名应该以大写字母开头。我知道这不会解决所有问题,但这是一个很好的做法
您应该尝试在for循环周围加上一些大括号——这是另一个风格技巧,但我认为这对初学者很重要(不要出现愚蠢的语法错误)
如果你想“动态”循环一个矩阵,那么你应该能够调整你的长度。简言之,不要只是把3放在那里,而是使用数组的长度属性
在我陷入更多问题之前,我将向您发送一些(希望)有用的资源:
我希望这会有所帮助
==编辑===
如果您想转置一个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;
}
public double[][]转置(double[][]oldMatrix){
int size=3;
双精度[]新矩阵=新双精度[尺寸][尺寸];
对于(int i=0;i
另外,我不想给多维数组分配一系列数字,你说的方法不起作用是什么意思
?你只是在复制数组?我写的方法不起作用,我想在主类中给出一组值,然后一个方法将它们分配给数组。例如,我希望1位于[0][0],5在[0][1],8在[0][2]等等。对于链接和建议,基本上我希望转置一个3*3数组(矩阵),因此我将初始化一个3*3矩阵,执行某些计算(例如查找行列式…),然后我将转置它,类似于b[j][I]=a[I][j],因此,为了做到这一点,我想我必须将数组大小作为[I][j]来处理,我编辑了我的答案,以获得一个转置3*3矩阵的示例。将其扩展到任何大小的矩阵(2*7、9000*9000等)将是一个很好的做法
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;
}