I'm getting this error: java.lang.StringIndexOutOfBoundsException: String index out of range: 7
and I don't know what's causing the out of bounds exception. Here's my code:
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;
}
}
I'm just running luckySevens("1087171", 0, 0) but it keeps breaking when it tries to repeat. Here's the error message:
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)
I would really appreciate any help! I feel like it's some dumb thing I'm not catching. Thank you!