因此,我应该更正我通常所做的java函数中的错误(这是“索引超出范围”错误),但是现在我收到此错误消息,并且我想了解在哪里48来自。
函数本身:
public char firstRepeatedCharacter() {
for (int i = 0; i < (word.length()-1); i++) {
char ch = word.charAt(i);
if (ch == word.charAt(i + 1))
return ch;
}
return 0;
}
(我添加了“ -1”来纠正“索引超出范围”错误。)
和我用JUnit制作的测试功能:
public class WordAnalyzerTest {
@Test
public void shouldTestaardvark() {
WordAnalyzer wa = new WordAnalyzer("aardvark");
char result = wa.firstRepeatedCharacter();
assertEquals(result,'a');
}
@Test
public void shouldTestroommate() {
WordAnalyzer wa = new WordAnalyzer("roommate");
char result = wa.firstRepeatedCharacter();
assertEquals(result,'o');
}
@Test
public void shouldTestmate() {
WordAnalyzer wa = new WordAnalyzer("mate");
char result = wa.firstRepeatedCharacter();
assertEquals(result,'0');
}
@Test
public void shouldTesttest() {
WordAnalyzer wa = new WordAnalyzer("test");
char result = wa.firstRepeatedCharacter();
assertEquals(result,'0');
}
}
当Eclipse进行最后两个测试,前两个测试正确运行时,会出现错误消息。
“ 48”是哪里来的?
编辑:谢谢大家,它成功了!