Передав число в метод nextInt
, вы указываете основание. Так, например, если на данной итерации у вас есть 2
для значения i
, вы говорите, что вам нужен двоичный файл. Если вы не включите радикс, он будет сканировать в базе 10.
При этом read()
из FileReader
читает следующий символ, поэтому вам не нужен сканер для сканирования следующего целого числа в любом месте.
Измените код внутри блока try следующим образом (не проверено):
fr = new FileReader(path);
fr2 = new FileReader(path2);
while ((i = fr.read()) != -1 && (i2 = fr2.read()) != -1) {
char c = (char) i;
char c2 = (char) i2;
if (Character.isDigit(c) && Character.isDigit(c2)) {
int n = Character. getNumericValue(c);
int n2 = Character.getNumericValue(c2);
sum += (n + n2);
} else {
// TODO handle this somehow
}
}