Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.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 二进制运算符+;第一种类型int[]和第二种类型int_Java_Arrays_Matrix_Multidimensional Array - Fatal编程技术网

Java 二进制运算符+;第一种类型int[]和第二种类型int

Java 二进制运算符+;第一种类型int[]和第二种类型int,java,arrays,matrix,multidimensional-array,Java,Arrays,Matrix,Multidimensional Array,我试图使用1D数组映射访问2D矩阵定义的值,并希望将该特定索引值存储在变量中 矩阵包含整数值,在使用2D矩阵到1D数组映射的概念时,我得到的错误是“二进制运算符的操作数类型错误+第一种类型int[]和第二种类型int” 导致错误的语句是: D = fill[ (i-1) * seq_2.length + (j-1)] 我试图访问矩阵fill中的diagnol值,即fill[I-1][j-1],并希望将其存储在变量D seq_2中。length是矩阵中列的大小 代码是 for (i = 1; i

我试图使用1D数组映射访问2D矩阵定义的值,并希望将该特定索引值存储在变量中

矩阵包含整数值,在使用2D矩阵到1D数组映射的概念时,我得到的错误是“二进制运算符的操作数类型错误+第一种类型int[]和第二种类型int”

导致错误的语句是:

D = fill[ (i-1) * seq_2.length + (j-1)]
我试图访问矩阵fill中的diagnol值,即fill[I-1][j-1],并希望将其存储在变量D seq_2中。length是矩阵中列的大小

代码是

for (i = 1; i <= (seq_1.length); i++) {
    for (j = 1; j <= (seq_2.length); j++) {            

        D = fill[ (i-1) * seq_2.length + (j-1)];

    }
}

for(i=1;i您的意思是
fill
int
类型的2D数组,而
D
是一个基元类型的整数……您得到的是二进制运算符+第一个类型int[]的错误
操作数类型错误第二类int 因为您试图将<代码>第一个维度赋值为< < /Cord>2D数组>为原始数据类型int。请考虑这个例子:

int[][] array = {{1,2},{3,4}}; // 2D array of type int as an example
        for(int i=0; i<2; i++){
            System.out.println(array[i]); // this basically is getClass().getName() + '@' + Integer.toHexString(hashCode())
            for(int j=0; j<2; j++){
                System.out.println(array[j]); 
                System.out.println(array[i][j]);// this prints out the actual value at the index 
            }       
        }       
    }
此外,如果要计算二维正方形阵列的对角线值,可以执行以下操作,例如:

int[][] array = {{1,2,3},{4,5,6}, {7,8,9}};
int diagonalSum = 0;
for(int i=0; i<3; i++, System.out.println()){
     for(int j=0; j<3; j++){
        System.out.print(array[i][j]+"\t");
        if(j==i){
            diagonalSum+=array[i][j];
        }
     }  
}   
System.out.println("\nDiagonal Value is: " + diagonalSum);

什么是<代码>填充< /代码>什么是代码> D <代码>…请考虑提供足够的信息<代码>(i - 1)*SEQu2。长度< /COD>不是<代码> int []
;因此我认为错误与您突出显示的语句不匹配。@Yahya Fill是一个带值的2D矩阵,D是一个整数变量,用于在2D矩阵中存储对角值。在计算对角值之前,矩阵填充的第一行和第一列用一些值初始化。@Yahya Fill是2D矩阵。@在开始任何类型的计算之前,具有第1行和第1列的矩阵具有一些值,而D是整数变量,用于将对角值存储在变量中的2D矩阵中以供进一步计算
int[][] array = {{1,2,3},{4,5,6}, {7,8,9}};
int diagonalSum = 0;
for(int i=0; i<3; i++, System.out.println()){
     for(int j=0; j<3; j++){
        System.out.print(array[i][j]+"\t");
        if(j==i){
            diagonalSum+=array[i][j];
        }
     }  
}   
System.out.println("\nDiagonal Value is: " + diagonalSum);
1   2   3   
4   5   6   
7   8   9   

Diagonal Value is: 15