1) Создал массив чаров и добавил туда алфавит
2) Все это закинул в первый ArrayList
3) В аргументах указал путь к файлу
4) Все что считано занес во второй лист
5) Прошелся циклом по второму листу, условие "если есть совпадение то увеличиваем счетчик count"
В файле ввел hello, результат в консоли был 5. Все работает, в чем может быть ошибка?
P.s. прошелся дебагером, все вроде ок, но валидатору не нравится.
package com.javarush.task.task18.task1816;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;
/*
Английские буквы
*/
public class Solution {
private static final char[] letters = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
'w', 'x', 'y', 'z'};
public static void main(String[] args) {
List<Character> list1 = new ArrayList<>();
List<Character> list2 = new ArrayList<>();
for (int i = 0; i < letters.length; i++) {
list1.add(letters[i]);
}
try (BufferedReader reader = new BufferedReader(new FileReader(args[0]))) {
int count = 0;
while (reader.ready()) {
char symbols = (char) reader.read();
list2.add(symbols);
}
for (int i = 0; i < list2.size(); i++) {
if (list1.contains(list2.get(i))) {
count++;
}
}
System.out.println(count);
} catch (IOException exception) {
System.out.println("This file cannot be readable " + exception);
}
}
}