I am getting a java.lang.StringIndexOutOfBoundsException whenever I run this program. I am not sure why. This program is supposed to convert a pattern (a)_n into /pochhammer{a}{n}. Thanks.
File file = new File("KLSadd.tex");
Scanner scanner = new Scanner(file);
PrintWriter writer = new PrintWriter("ConvertedPochhammer.tex");
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
char toChecko=')';
for(int i=line.length();i>=0;i-- ){
if(line.charAt(i)==toChecko&&line.charAt(i+1) == '_'){
String substring = line.substring(0,i);
int openParen = checkNestedParen(substring);
String a = line.substring(openParen, i);
if(line.charAt(i+2)=='{'){
int startBracker = i+2;
int endBracker = line.indexOf('}',i+2);
String n = line.substring(startBracker, endBracker);
line = line.substring(0, openParen) + "//pochhammer{" + a + "}{" + n + "}";
}
else {
char n = line.charAt(i+2);
line = line.substring(0, openParen) + "//pochhammer{" + a + "}{" + n + "}";
}
}
}
writer.println(line);
}
writer.close();