我怎样才能得到一个正方形矩阵并将其放入另一个矩阵?

时间:2019-06-05 03:25:27

标签: java arrays algorithm matrix multidimensional-array

我需要解决这个问题,我需要获得矩阵每个元素的平方并将其放入另一个矩阵。两者都具有相同的n * m大小。

我已经尝试将其乘以一个变量,该变量保存了 元素的正方形。

int n,m,i,j;
Random rm1=new Random();
int matrix1[][]=new int[n][m];
int matrix2[][]=new int[n][m];
        for (i=0;i < matrix1.length;i++){
             for(j=0;j < matrix1[i].length;j++){
                 matrix1[i][j]=rm1.nextInt(500);
            }
        }
         for (i=0;i < matrix2.length; i++){
              for(j=0;j < matrix2[i].length;j++){
                  matrix2[i][j]=matrix1[i][j]*matrix1[i][j];               
            }
        }
System.out.println("first matrix:");
       for (i=0;i<matrix1.length;i++){          
                for (j=0;j<matrix1[i].length;j++){
                    System.out.println("("+i+","+j+")=["+matrix1[i][j]+"]");
                }
            }
 System.out.println("second matrix:");
       for (i=0;i<matrix2.length;i++){          
                for (j=0;j<matrix2[i].length;j++){
                    System.out.println("("+i+","+j+")=["+matrix2[i][j]+"]");
                }
            }

它没有给我我想要的东西,Matrix2保持不变。

我期望的是:(是n = m = 2并且内部是随机值):

矩阵1:(0,0)=2 (0,1)=3 (1,0)=5 (1,1)=10

矩阵2:(0,0)=4 (0,1)=9 (1,0)=25 (1,1)=100

我得到的是

矩阵1:(0,0)=2 (0,1)=3 (1,0)=5 (1,1)=10

矩阵2:(0,0)=2 (0,1)=3 (1,0)=5 (1,1)=10

2 个答案:

答案 0 :(得分:0)

您可以尝试使用Math.pow方法。

matrix2[i][j] = Math.pow(matrix1[i][j], 2);

答案 1 :(得分:0)

        public static async Task NavigateAsync<TContentPage, TNavigationParameter>(INavigation navigation,
        TNavigationParameter navParam,
        Action<TContentPage, TNavigationParameter> action = null) where TContentPage : ContentPage
    {
        var contentPage = App.Container.Resolve<TContentPage>();          
        action?.Invoke(contentPage, navParam);           
        await navigation.PushAsync(contentPage, true);
    }

我试图重新创建您的情况,但似乎工作正常,也许某个地方出现错字或逻辑错误,这会导致您遇到一些问题。尝试缩进代码以组织代码并使之易于查看