У меня есть этот код
public String[][] checkBoxes(String[][] varden){
ArrayList[][] tillatnaSiffror = new ArrayList[9][9];
for(int i=0;i<9;i++){
for(int ruta=0;ruta<9;ruta++){
if(tillatnaSiffror[i][ruta] == null){
tillatnaSiffror[i][ruta] = new ArrayList<Integer>();
for(int add=1;add<=9;add++){
tillatnaSiffror[i][ruta].add(add);
}
}
if(varden[i][ruta].equals("X")){
for(int a=0;a<9;a++){
try {
System.out.println(tillatnaSiffror[i][ruta].indexOf(Integer.parseInt(varden[i][ruta])));
System.out.print("Testing");
} catch(Throwable n){
System.out.print("Throws exception");
}
}
}
}
}
}
tillatnaSiffror[i][ruta]
- это ArrayList, содержащий числа 1-9, а переменные i
и ruta
представляют собой циклы for, обертывающие мой код,Двумерный массив varden
содержит строки с цифрами от 1 до 9. Проблема в том, что вместо печати искомого индекса он ничего не делает.И потом не печатает «Тестирование», и не перехватывается из-за исключения.Я посчитал количество исключений.
Однако, если я укажу ноль, вот так:
System.out.println(tillatnaSiffror[0][0].indexOf(Integer.parseInt(varden[0][0])));
Затем будет напечатан индекс, а также текст "Тестирование".Есть идеи, почему он не работает с переменными?Это не проблема ArrayIndexOutOfBounds
;переменные верны.