Добрый день.
У меня есть такой код
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
FileInputStream fileData = new FileInputStream(fileName);
int[] bytes = new int[256];
while (fileData.available()>0){
bytes[fileData.read()]=++bytes[fileData.read()];
}
reader.close();
fileData.close();
int max= 0;
for (int i : bytes) {
max = Math.max(max, i);
}
for (int i = 0; i < bytes.length; i++) {
if (bytes[i]==max && bytes[i]!=0) System.out.print(i+" ");
}
}
}
Валидатор его принял, но когда я его тестил, столкнулся с такой проблемой и решить ее не смог
Есть три тестовых txt файла
В первом:
onestring1
twostring2
threestring3
Во втором
onestring11
twostring22
threestring33
Третий пустой
С 1 и 3 программа работает корректно, на втором ругается на индекс массива:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
at com.javarush.task.task18.task1803.Solution.main(Solution.java:20)
В чем может быть причина, ссылка на мой второй файл ниже
https://yadi.sk/d/6Or5xQh-D6f4pw
Спасибо.