Вроде выводит как надо, но валидатор ругается..
package com.javarush.task.task18.task1821;
/*
Встречаемость символов
*/
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) throws IOException {
FileInputStream inputStream = new FileInputStream(args[0]);
ArrayList<Character> asc2 = new ArrayList<Character>();
ArrayList<Character> symbol = new ArrayList<Character>();
TreeMap<Character,Integer> treeMap = new TreeMap<Character,Integer>();
for(int i = 0; i <= 127; i++) {
asc2.add((char) i);
}
while (inputStream.available() > 0) {
symbol.add((char) inputStream.read());
}
inputStream.close();
int num = 1;
for(int i = 0; i < asc2.size(); i++) {
for(int j = 0; j < symbol.size(); j++) {
if (asc2.get(i).equals(symbol.get(j))) {
num++;
}
treeMap.put(asc2.get(i), num);
}
num = 0;
}
for (Map.Entry<Character, Integer> pair : treeMap.entrySet())
{
Character key = pair.getKey(); //ключ
Integer value = pair.getValue();
if(value > 0) {
System.out.println(key + " " + value);
}
}
}
}
я бы предложил прогнать циклом лист asc2 и каждый его элемент проверять на то содержится ли он в виде ключа в карте. Дальше сам разберешься.