Как проверить, содержит ли EditText правильный ответ?

Я провожу тест, в котором я разрешаю пользователю вводить ответ в EditText. Мой вопрос: как я могу сказать компьютеру, верен введенный ответ или нет?

Что именно вы имеете в виду, говоря «как я могу сказать компьютеру»?

Tobias 28.07.2018 12:49

либо показывать диалоговое окно, либо всплывающее сообщение, я надеюсь, вы хотите показать, что ответ правильный или неправильный на основе действия нажатия какой-либо кнопки.

Krishna Sharma 28.07.2018 14:19
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
4
2
72
2

Ответы 2

Вы имеете в виду сообщение об ошибке?

EditText.setError("Your answere is incorrect")

Ответ в форме редактирования текста является качественными данными, поэтому, как правило, нельзя применять сравнение строк, но если у вас есть ответ для сравнения предложения с предложением, вы можете использовать ==, .equals (), compareTo () и compare () в java также, если вы хотите использовать алгоритм и получить результат, тогда вы можете использовать расстояние Левенштейна с java -

public class Main {
    public static int getLevenshteinDistances(String s, String t) {
        if (s == null || t == null) {
            throw new IllegalArgumentException("Strings must not be null");
        }
        int n = s.length(); // length of s
        int m = t.length(); // length of t

        if (n == 0) {
            return m;
        } else if (m == 0) {
            return n;
        }

        if (n > m) {
            // swap the input strings to consume less memory
            String tmp = s;
            s = t;
            t = tmp;
            n = m;
            m = t.length();
        }

        int p[] = new int[n + 1]; // 'previous' cost array, horizontally
        int d[] = new int[n + 1]; // cost array, horizontally
        int _d[]; // placeholder to assist in swapping p and d

        // indexes into strings s and t
        int i; // iterates through s
        int j; // iterates through t

        char t_j; // jth character of t

        int cost; // cost

        for (i = 0; i <= n; i++) {
            p[i] = i;
        }

        for (j = 1; j <= m; j++) {
            t_j = t.charAt(j - 1);
            d[0] = j;

            for (i = 1; i <= n; i++) {
                cost = s.charAt(i - 1) == t_j ? 0 : 1;
                // minimum of cell to the left+1, to the top+1, diagonally left
                // and up +cost
                d[i] = Math.min(Math.min(d[i - 1] + 1, p[i] + 1), p[i - 1] + cost);
            }

            // copy current distance counts to 'previous row' distance counts
            _d = p;
            p = d;
            d = _d;
        }

        // our last action in the above loop was to switch d and p, so p now
        // actually has the most recent cost counts
        return p[n];
    }

}

Другие вопросы по теме