Похоже, вы пытаетесь вызвать substring
метод - но вы пытаетесь получить к нему доступ, как если бы это было поле.Итак, первое изменение будет:
if (origAns.substring(j) == key[j])
За исключением того, что будет сравниваться строка ссылки вместо содержимое , поэтому вы можете захотеть:
if (origAns.substring(j).equals(key[j]))
На самом деле, я подозреваю, что вы хотите, чтобы charAt
получил один символ - substring
вернет вам строку со всем после указанного индекса:
if (origAns.charAt(j) == key[j])
... где key
будетa char[]
здесь.
Вы также можете избежать "противоположного" сравнения, используя вместо этого предложение else
.
Вам также следует сделать более аккуратный отступ кода для удобства чтения.Например:
for (int i = 0; i < studentAnswer.length; i++) {
String origAns = studentAnswer[i];
for (int j = 0; j < key.length; j++) {
if (origAns.charAt(j) == key[j]) {
points[j] = 1;
} else {
points[j] = 0;
}
}
}
И теперь вы можете изменить это, чтобы использовать выражение условное вместо if / else:
for (int i = 0; i < studentAnswer.length; i++) {
String origAns = studentAnswer[i];
for (int j = 0; j < key.length; j++) {
points[j] = origAns.charAt(j) == key[j] ? 1 : 0;
}
}