Java中的按位异或运算

3

在执行程序时,我遇到了这个错误。

"二元运算符'^'的操作数类型不匹配 第一个类型:int 第二个类型:int[]"

int temp1;
     for(int m = 1;m<height;m++)
     {
         temp1 = 2*m-1;
         for(int n = 0;n<width;n++)
         {
             r[temp1][n] = r[temp1][n]^Kc[n];
         }
     }

这将对我很有帮助,谢谢。

显然,Kc是一个二维数组,所以Kc[n]是一个一维数组。另外,这段代码是Java还是C++?你同时打了两种语言的标签,为什么呢? - Igor Tandetnik
编译器错误提示非常明显,不是吗?你的 Kc 似乎是 int[][],而不是 int[](此外,请更改变量名称;没有人知道你的数组应该包含什么或其他任何信息)。 - fge
错误信息显示Kc[n]是一个int数组,需要改为int类型。 - Joel
谢谢回复,我标记了Java和C++,因为这两种编程语言都可以使用。目前我正在用Java编写代码。 - user3364490
2个回答

2

您可以在两个int上使用^运算符,但不能在一个int和一个int数组上使用。

根据错误信息,Kc[n]是一个int数组。

您可以在两个int上应用该运算符:

r[temp1][n] = r[temp1][n]^Kc[temp1][n];

我不知道这些索引是否有意义(因为我不知道这两个数组的维度),所以您可能需要更改它们。


谢谢,对不起这是我的错误,是的Kc是一个2D数组。 - user3364490

2
错误信息表明Kc[n]是一个int数组,但它应该是一个int。如果你希望Kc[n]是一个整数,那么你需要重新声明它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接