我正在尝试测试数组是否包含某个值,并将其索引放在变量p1CombFInd
中。
int[] allowedNumbers = {
31,
32,
41,
42,
43,
51,
52,
53,
54,
61,
62,
63,
64,
65,
11,
22,
33,
44,
55,
66,
21,
};
if (Arrays.asList(allowedNumbers).contains(txtNumber2.getText())){
p1CombFInd = Arrays.asList(allowedNumbers).indexOf(txtNumber1.getText());
}
但我总是收到错误无法解析符号“allowedNumbers”
编辑:我的导入也会导致问题吗?
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import java.util.Arrays;
import java.util.List;
import static com.pexldesign.mia.R.*;
答案 0 :(得分:0)
我将您的搜索提取到了一个方法中,但是有一些问题......对于您正在测试的txtNumber2
,然后找到txtNumber1
;第二,你要两次搜索你的数字。试试这个 -
public static int getIndex(int[] arr, String value) {
int v = Integer.valueOf(value);
for (int i = 0; i < arr.length; i++) {
if (arr[i] == v) {
return i;
}
}
return -1;
}
public static void main(String[] args) {
int[] allowedNumbers = { 31, 32, 41, 42, 43, 51, 52, 53, 54, 61, 62,
63, 64, 65, 11, 22, 33, 44, 55, 66, 21, };
int index = getIndex(allowedNumbers, "65");
System.out.printf("allowedNumbers[%d] = %d\n", index,
allowedNumbers[index]);
}
这里输出
allowedNumbers[13] = 65
答案 1 :(得分:-1)
这应该有用(你不能创建一个int列表):
Integer[] allowedNumbers = {
31,
32,
但是,这里有完整的样本:
Integer[] allowedNumbers = {
31,
32,
41,
42,
43,
51,
52,
53,
54,
61,
62,
63,
64,
65,
11,
22,
33,
44,
55,
66,
21,
};
List<Integer> allowedNum = Arrays.asList(allowedNumbers);
int found = allowedNum.indexOf(Integer.valueOf(txtNumber1.getText());
if(found >= 0){
// do something with your number
}
这仅适用于@Martijn Courteaux:
System.out.println("int:");
System.out.println(Arrays.asList(exInt).size());
for(int[] i : Arrays.asList(exInt)){
System.out.println(i);
}
System.out.println("Integer-Object:");
System.out.println(Arrays.asList(exInteger).size());
for(int i : Arrays.asList(exInteger)){
System.out.println(i);
}
将提供以下输出:
int:
1
[I@4631c43f
Integer-Object:
2
1
2
答案 2 :(得分:-2)
我打赌问题出在其他地方。你向我们展示的代码非常好。它不会产生该错误。也许你把数组声明和代码放在不同的文件中?
更新:看起来这是InteliJ IDEA制作的消息。编译器永远不会以完全相同的形式报告错误。尝试重新启动IDE。