每次我在我的程序中键入这样的内容时,我会在i和j的位置出现错误。错误是这个问题的标题。
retArr[i][j] = a[i][j] + b[i][j];
生病给你们这个课程的开头部分,这样你就可以看到我想要做什么了。
public class Array_two {
public int rows;
public int cols;
public int[][] values;
Array_two(int rows, int cols) {
this.rows = rows;
this.cols = cols;
values = new int[rows][cols];
}
public Array_two Add(Array_two a, Array_two b) {
int rsz = a.rows;
int clz = a.cols;
int[][] retArr = new int[rsz][clz];
for (int i = 0; i < rsz; i++) {
for (int j = 0; j < clz; j++) {
retArr[i][j] = a[i][j] + b[i][j];
}
}
Array_two ret = new Array_two(rsz, clz);
ret.values = retArr;
return ret;
}
答案 0 :(得分:0)
[]
语法只能与数组一起使用。 Array_two
不是数组类型,因此无法使用[]
。
我认为你的意思是
ret[i][j] = a.values[i][j] + b.values[i][j];
values
是一个数组,因此您可以使用[]
访问其元素。
其他提示:
您可能不应该公开所有字段。创建getter和setter。
类以PascalCase
命名,因此ArrayTwo
而不是Array_two
。
方法以camelCase
命名,因此add
而不是Add
。
Add
方法应该是static
。
答案 1 :(得分:0)
switchButton.post(new Runnable() {
@Override
public void run() {
if(Common.punchedIn) {
switchButton.setChecked(false);
}
else {
switchButton.setChecked(true);
}
}
});