首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >二进制运算符的坏操作数类型+第一类int[]和第二类int

二进制运算符的坏操作数类型+第一类int[]和第二类int
EN

Stack Overflow用户
提问于 2017-04-29 19:50:37
回答 1查看 745关注 0票数 0

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

该矩阵包含整数值,利用二维矩阵到一维数组映射的概念,我得到了“二进制算子的坏操作数类型+第一类int[]和第二类int”的误差。

导致错误的语句是:

代码语言:javascript
运行
复制
D = fill[ (i-1) * seq_2.length + (j-1)]

我试图访问矩阵填充中的诊断值,即filli-1,并希望将其存储在变量D中,seq_2.length是矩阵中列的大小。

守则是

代码语言:javascript
运行
复制
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)];

    }
}
EN

回答 1

Stack Overflow用户

发布于 2017-04-29 20:11:22

您是说fillint类型的2D数组,D是一个原始类型的整数.获得错误Bad Operand Type for Binary Operator + first type int[] and second type int是因为您试图将fill 2D数组的第一个维度分配给基本数据类型int。考虑一下这个例子:

代码语言:javascript
运行
复制
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 
            }       
        }       
    }

输出:

代码语言:javascript
运行
复制
[I@15db9742
[I@15db9742
1
[I@6d06d69c
2
[I@6d06d69c
[I@15db9742
3
[I@6d06d69c
4

此外,如果要计算正方形2D数组的对角线值,可以执行以下操作:

代码语言:javascript
运行
复制
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);

输出:

代码语言:javascript
运行
复制
1   2   3   
4   5   6   
7   8   9   

Diagonal Value is: 15
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43699877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档