0

对于一个大学项目,我正在为孩子做一个拼写测试,我需要给一个小的拼写错误打 1 分。为此,如果拼写有 2 个字符错误,我将这样做。如何将保存的单词与输入的单词进行比较?

char wLetter1 = word1.charAt(0);
char iLetter1 = input1.charAt(0);


char wLetter2 = word1.charAt(1);
char iLetter2 = input1.charAt(1);

我已经开始使用word1保存的单词和input1用户输入的单词。但是,如果我添加很多这些,如果单词是 3 个字符长但我试图比较第 4 个字符,我会得到一个错误?有没有办法知道字符串中有多少个字符并且只找到这些字母的字符?

4

1 回答 1

0

只需使用一个for循环。因为我假设这是关于 JavaScript,charAt()所以使用越界索引调用只会返回空字符串""

为避免越界异常,您必须向上迭代直到长度中的较低值:

int errs = Math.abs(word1.length - input1.length);
int len = Math.min(word1.length, input1.length);
for (int i = 0; i < len; i++) {
    if (word1.charAt(i) != input1.charAt(i)) errs++;
}
// errs now holds the number of character mismatches
于 2014-02-16T23:27:59.377 回答