我收到此错误:java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:7
而且我不知道是什么导致了越界异常。这是我的代码:
public class LuckySeven {
public int luckySevens(String input, int index, int sevens) {
int curDigit = input.charAt(index) - 48;
if (curDigit == 7) {
if (index > 0 && (int) input.charAt(index - 1) - 48 == 7) {
sevens += 14;
}
else sevens++;
}
if (index < input.length()) {
luckySevens(input, index+1, sevens);
}
return sevens;
}
}
我只是在运行 luckySevens("1087171", 0, 0) 但它在尝试重复时会不断中断。这是错误消息:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 7
at java.lang.String.charAt(String.java:658)
at LuckySeven.luckySevens(LuckySeven.java:6)
at LuckySeven.luckySevens(LuckySeven.java:14)
at LuckySeven.luckySevens(LuckySeven.java:14)
at LuckySeven.luckySevens(LuckySeven.java:14)
at LuckySeven.luckySevens(LuckySeven.java:14)
at LuckySeven.luckySevens(LuckySeven.java:14)
at LuckySeven.luckySevens(LuckySeven.java:14)
at LuckySeven.luckySevens(LuckySeven.java:14)
at Tester.main(Tester.java:7)
我真的很感激任何帮助!我觉得这是我没有抓住的一些愚蠢的东西。谢谢!