Сравнение строки и текста, символ за символом - PullRequest
0 голосов
/ 14 июня 2019

Я делаю игру на наборе текста. Когда пользователь вводит ключ, программа должна сравнить его с сохраненной строкой / массивом. Если он совпадает с символом по этому индексу, переменная оценки должна увеличиваться.

Я пытаюсь сохранить введенный текст в строку, а затем сравнить его после разбиения на символы.

         text=new JTextField(40);
         String sentence="the quick brown fox jumps over the lazy dog";
         String store=text.getText();
         for (int i = 0; i < store.length(); i++) {
             if(store[i]==sentence.charAt(i)) {        //error
                 score++;
             }
         }

увеличение "счет", если введенный ключ соответствует символу, иначе уменьшение.

Ответы [ 2 ]

1 голос
/ 14 июня 2019

Ваша переменная store также является строкой, а не массивом, поэтому вы должны использовать .charAt():

for (int i = 0; i < Math.min(store.length(), sentence.length()); i++) {
    if(store.charAt(i) == sentence.charAt(i)) {
        score++;
    } else {
        score--;
    }
}

Вы также должны использовать Math.min(store.length(), sentence.length()) для предотвращения IndexOutOfBoundsException.

0 голосов
/ 14 июня 2019

Я согласен с Сэмюэлем Филиппом в использовании .charAt(). Я хотел бы добавить, однако..charAt() ищет символ по указанному индексу.Исходя из вашего уровня, я чувствую, что этот метод будет вам по вкусу.

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