如何在if和switch语句之后在for循环中设置分数?

时间:2018-05-06 22:36:54

标签: java android-studio

我正在尝试记录用户输入与文本文件输入匹配的次数。如果条目的长度为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 :(得分:0)

我认为以下几行是造成问题的原因:

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

如果你这样做了怎么办?

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

或者你忘记告诉我们这个程序应该做的其他事情了吗?例如,wordEntry是什么?