Поиск Java в 2D-массиве с использованием arrayName [i] [j] .equalsIgnoreCase не находит значение - PullRequest
0 голосов
/ 11 ноября 2018

Последние несколько часов я искал сообщество, чтобы найти решение. Если вы найдете это как дубликат, пожалуйста, закройте и направьте меня к решению. Заранее спасибо!

Я ищу в двумерном массиве поиск комбинации карт, введенной в TextView, с комбинацией карт в массиве. Код не распознает, что он нашел правильную запись и всегда проходит как False. Мне интересно, правильно ли я храню и ищу строку?

Например, если в TextView, который я ввел Q3, 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");
    }
}

1 Ответ

0 голосов
/ 11 ноября 2018

Решение было двояким. Другое заявление было переопределено, когда строка была найдена. Поэтому я удалил оператор else.

Второй содержит регистр требует совпадения, поэтому я обеспечил преобразование текста, введенного в текстовом представлении, в прописную.

Пожалуйста, не стесняйтесь комментировать, если у вас есть лучший ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...