【问题标题】:Bad operand type for binary operator + first type int[] and second type int二元运算符的错误操作数类型 + 第一种类型 int[] 和第二种类型 int
【发布时间】:2017-04-29 19:50:37
【问题描述】:

我正在尝试访问使用一维数组映射定义的二维矩阵的值,并希望将该特定索引值存储在一个变量中。

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

导致错误的语句是:

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

我正在尝试访问矩阵填充中的诊断值,即填充 [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)];

    }
}

【问题讨论】:

  • 什么是fill,什么是D ...请考虑提供足够的信息
  • (i - 1) * seq_2.length 不是int[];所以我认为该错误与您突出显示的语句不匹配。
  • @Yahya Fill 是一个带有值的二维矩阵,D 是一个整数变量,用于将诊断值存储在二维矩阵中
  • 矩阵 Fill 的第一行和第一列在计算诊断值之前使用一些值进行初始化。
  • @Yahya fill 是第 1 行第 1 列在开始计算任何类型之前具有一些值的 2D 矩阵,而 D 是整数变量,用于将 2D 矩阵中的诊断值存储在用于进一步计算的变量

标签: java arrays matrix multidimensional-array


【解决方案1】:

您是说fillint 类型的二维数组,而D 是原始类型整数...您收到错误Bad Operand Type for Binary Operator + first type int[] and second type int 因为您尝试分配第一个fill 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 
            }       
        }       
    }

输出:

[I@15db9742
[I@15db9742
1
[I@6d06d69c
2
[I@6d06d69c
[I@15db9742
3
[I@6d06d69c
4

另外,如果你想计算一个 square 二维数组的对角线值,你可以这样做:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多