我正在尝试检查字符串是否是2dim数组的一部分。
geefNamenCat
返回Input.readString()
。有没有办法让我轻松检查geefNamenCat
是否属于TERADENWOORDEN[ ][ ]
?我已经浏览了这个网站很长一段时间了,我只找到了1dim阵列的解决方案(我也无法工作)。
public void catKiezen() {
do {
String gekozenCat = geefNamenCat("\nKies 1 van de volgende categorieën: ");
}
while ( !gekozenCat.equals (TERADENWOORDEN[][])
}
编辑:我忘了添加,do / while事情是这样的,它会一直要求新的输入,直到给定的输入是数组的一部分
答案 0 :(得分:1)
你可以试试这个:
boolean contains = false;
do {
String gekozenCat = geefNamenCat("\nKies 1 van de volgende categorieën: ");
for (String[] sub : Arrays.asList(TERADENWOORDEN))
if (Arrays.asList(sub).contains(gekozenCat)) {
contains = true;
break;
}
if (! contains) {
// print something
}
} while (! contains);
答案 1 :(得分:0)
根据评论:
基本上你有2列和x行
最好只检查第一栏
也许这就是你想要的?
for(String[] row: ALLOWED_WORDS){
if(input.equals(row[0])){
found = true;
break;
}
}
此外,如果您希望在同一个表上进行多个查询,则可以考虑将该表编译为hashSet:
//once
HashSet<String> allowedWordList = new HashSet<String>();
for(String[] row: ALLOWED_WORDS){
allowedWordList.add(row[0])
}
//on each check
if(allowedWordList.contains(input)){
...
}
另外,基于
数组从txt文件中读取行
然后它不是常数,不应该是全部大写:ALLOWED_WORDS
=&gt; allowedWords