Как установить счет в цикле for, после оператора if и switch? - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь записать, сколько раз пользовательский ввод совпадает с вводом из текстового файла.И если записи имеют длину 3, 4 или 5, общий балл должен увеличиться на сколько бы ни была запись пользователя.Вместо этого каждый раз обновляется метка счета, равная 3, 4 или 5. Любая помощь будет принята с благодарностью!

Это код для программы Android, которую я сейчас пишу:

try {
 reader = new BufferedReader(
  new InputStreamReader(getAssets().open("Words.txt")));

 int i = 0;
 int f = 0;
 int h = 0;
 int k = 0;

 String mLine;
 String[] lines = new String[1500];
 while (((mLine = reader.readLine()) != null)) {
  lines[i] = mLine;
  i++;
 }

 for (int q = 0; q < lines.length; q++) {
  if (lines[q].contentEquals((wordEntry.getText()))) {
   int length = wordEntry.length();
   switch (length) {
    case 3:
     f++;
     continue;

    case 4:
     h++;
     continue;

    case 5:
     k++;
     continue;
   }
  } else
   score.setText("Incorrect");
 }
 int total = (f * 3) + (h * 4) + (k * 5);
 score.setText(String.valueOf(total));
} catch (IOException e) {
 e.printStackTrace();
}

1 Ответ

0 голосов
/ 07 мая 2018

Я думаю, что нижеприведенные строки являются причиной проблемы:

if (lines[q].contentEquals((wordEntry.getText()))) {
   int length = wordEntry.length();

Что если вы просто сделали это вместо этого?

int length = lines[q].length();

Или вы забыли рассказать нам что-то еще, что эта программа должна делать? Например, что такое wordEntry?

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