java - 使用 arrayName[i][j].equalsIgnoreCase 在二维数组中搜索 Java 未找到值
问题描述
在过去的几个小时里,我一直在寻找社区寻找解决方案。如果您发现这是重复的,请关闭并引导我找到解决方案。提前致谢!
我正在搜索一个二维数组,希望将 TextView 中输入的卡片组合与数组中的卡片组合相匹配。代码没有认识到它找到了正确的条目,并且总是以 False 循环遍历。我想知道我是否没有以正确的方式存储和搜索字符串。
例如,如果在我输入 Q3 的 TextView 中,Logcat 将显示:
检查:: [Q3] 搜索:: [Q3]
所以我知道我们正在循环并点击数组中的正确项目。但我无法让代码识别它。
//Get the text from the holeCards TextView
holeCards = (TextView)findViewById(R.id.enter_cards_text);
String holeCardsText = ((TextView) holeCards).getText().toString();
//Search cardParisArray for holeCardsText
int rows = cardPairsArray.length;
int columns = cardPairsArray[0].length;
String cardPairArrayRows = Integer.toString(rows);
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
Log.d("Searching:", Arrays.toString(new String[]{holeCardsText}));
Log.d("Checking:", Arrays.toString(new String[]{cardPairsArray[i][j]}));
if (cardPairsArray[i][j].equalsIgnoreCase(holeCardsText) == true) {
responseTextView.setText("Cards were found");
}else responseTextView.setText("Cards not found");
}
}
解决方案
解决方案是双重的。找到字符串时,Else 语句被覆盖。所以我删除了 else 语句。
第二个包含需要匹配大小写,所以我确保在文本视图中输入的文本被转换为大写。
如果您有更好的答案,请随时发表评论。
推荐阅读
- github - GitHub - 当非默认分支与主分支合并时,PR 链接问题不会关闭
- c++ - 如何检测 C++ 中是否按下某个键?
- netbeans - Parameticindex 超出范围,因此我的数据库中有 7 个参数,如果我尝试更新数据,则会出现此错误
- django - 未找到:/post/12/responses/
- java - 查找数组的相邻解
- regex - 如何从plsql中的字符串中提取几个指定的字母数字整个单词之前的文本
- android - 为什么firebase没有收到任何数据?
- maven - 无法在 IntelliJ 中导入 itextpdf 5 - Maven
- html - 无法 POST / 来自非“/”站点的 Post 请求
- react-native - useEffect 不适用于 redux 存储状态更改