Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中定义矩阵中的元素,其中每一行元素都会增加一些值?_Java_Arrays_Multidimensional Array - Fatal编程技术网

如何在Java中定义矩阵中的元素,其中每一行元素都会增加一些值?

如何在Java中定义矩阵中的元素,其中每一行元素都会增加一些值?,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,例如,我想制作这种矩阵: 1 1 1 1 1 1 4 4 4 4 4 4 9 9 9 9 9 9 16 16 16 16 16 16 25 25 25 25 25 25 36 36 36 36 36 36 49 49 49 49 49 49 到目前为止,我的代码是: public static void main(String[] args) { int matrix[][] = new int[6][8]; for (in

例如,我想制作这种矩阵:

1  1  1  1  1  1
4  4  4  4  4  4
9  9  9  9  9  9
16 16 16 16 16 16 
25 25 25 25 25 25 
36 36 36 36 36 36
49 49 49 49 49 49
到目前为止,我的代码是:

public static void main(String[] args) {

        int matrix[][] = new int[6][8];

        for (int i = 0; i < matrix.length; ++i) {
            for (int j = 0; j < matrix.length; j++) {

                matrix[i][j] = i + 1 ;
            }

        }

        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix.length; j++) {
                System.out.print(matrix[i][j] + "\t");
            }
            System.out.println();
        }

    }
}
publicstaticvoidmain(字符串[]args){
整数矩阵[][]=新整数[6][8];
对于(int i=0;i
如果仔细观察,结果矩阵中的每个元素都是行号的平方

例如

Row 1 -> Numbers 1
Row 2 -> Numbers 4
Row 3 -> Numbers 9
...
Row 7 -> Numbers 49

and so on...
所以你不需要以前的数字来计算新的

在现有代码中进行简单调整,同时填充矩阵,可以:

for (int i = 0; i < matrix.length; ++i) {
    for (int j = 0; j < matrix[0].length; j++) {
        matrix[i][j] = (int) Math.pow(i + 1, 2);
    }
}
for(int i=0;i
使用以下方法打印矩阵

for (int i = 0; i < matrix.length; i++) {
    for (int j = 0; j < matrix[0].length; j++) {
        System.out.print(matrix[i][j] + "\t");
    }
    System.out.println();
}
for(int i=0;i
公共类矩阵{
公共静态void main(字符串[]args){
整数矩阵[][]=新整数[7][8];
对于(int i=0;i
您可以使用Java.lang.Math.pow()方法。但由于这只是一个sqaure函数,我看不出使用
矩阵[I][j]=(I+1)*(I+1);
,在您的第8行插入此代码。

您当前代码遇到的具体问题是什么?您正在将“行数加1”放在在每个元素中,你想要的是“行数加一”的平方(即,“行数加一”乘以“行数加一”),我无法找出正确的算法。无论我尝试什么,我都无法得到我想要的矩阵。无论我尝试什么,我都无法得到当前的解决方案。我想我已经得到了所有可能的解决方案,除了我需要的解决方案。另外,
(int j=0;j
应该是(int j=0;j@ShanuGupta谢谢你的回答。你能告诉我为什么应该是(int j=0;jmatrix.length给你行数,
matrix[0].length
为您提供了列数。@ShanuGupta非常感谢您的解释。我是新来的她。您能告诉我您应该如何正确地描述我的问题吗?您将如何描述我的问题?以便下次了解。。
public class Matrix {
 public static void main(String[] args) {
int matrix[][] = new int[7][8];
for (int i = 0; i < matrix.length; ++i) {
    for (int j = 0; j < matrix.length; j++) {
        matrix[i][j] = i + 1 ;
    }
}
for (int i = 0; i < matrix.length; i++) {
    for (int j = 0; j < matrix.length; j++) {
        //Change this line,looking for this?
        System.out.print(matrix[i][j]*matrix[i][j] + "\t");
       //Describe your specific problem properly
    }
    System.out.println();
}}