所以两天前我找了一些帮助,得到了一些好东西...... Searching arrays for a value at specific indices
现在我已经尝试尽我所能了,并且我遇到了一个错误:“表达式的类型必须是数组类型,但它已解析为int”if(lLungArray[i]k] == 1)
int[] lLungArray = {1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1};
int lLung;
private void checkHealth() {
// TODO Auto-generated method stub
if(MainActivity.panel1 == 0){
if(MainActivity.panel2 == 0){
int[] secondArray = {0,1,8,9};
int lLungCount = 0;
for(int i=0;i<lLungArray.length;i++){
for(int k:secondArray){
if(lLungArray[i][k] == 1) //Error here {
lLungCount++;
}
}
}
}
}
我的项目已基本完成,但我无法弄清楚如何解决此错误。如果您阅读我的第一个问题,您会发现我是新手并且Google没有太多帮助。
答案 0 :(得分:0)
lLungArray
是int
的数组,但是这里lLungArray[i][k]
你试图提供2个索引,将它视为一个数组数组,这是完全错误的!
更新:根据您的评论,
我想知道lLungArray在位置0,1,8,9中是否有1以及1出现了多少个实例。使用上面的lLungCount应该最终得到4.如果(lLungArray [i] == k){会帮助我吗?
我想这会帮助你达到你想要的效果。
private void checkHealth() {
int[] secondArray = { 0, 1, 8, 9 };
int lLungCount = 0;
for (int k : secondArray) {
// If the lLungArray elements at the positions specified by the
// elements of secondArray is 1 then increment the lLungCount
if (lLungArray[k] == 1) {
lLungCount++;
}
}
}
答案 1 :(得分:0)
你宣布了一维数组:
int[] lLungArray = {1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1};
但你尝试像二维数组一样访问它
if(lLungArray[i][k] == 1)
那是不可能的
我想你想要这样的东西:
secondArray[k] == 1
答案 2 :(得分:0)
lLungArray[i][k]
表示第i行和第k列(2维数组)。但你的阵列是一维的。