Помогите, пожалуйста, люди добрые! Пишу от безысходности! Archiver (16)

В задаче нужно написать метод для удаления файлов из zip архива. Испробовал минимум сотню вариантов, но все, как один, не проходят по пункту! Метод removeFiles должен записывать в новый архив все файлы из старого архива, кроме тех, которые в списке на удаление. Затем, заменить старый архив новым! Но я это и делаю! Вот один из вариантов:
public void removeFiles(ListpathList) throws Exception {
if (!Files.isRegularFile(zipFile))
throw new WrongZipFileException();
Path templ = Files.createTempFile(null, null);
try (ZipInputStream zipInputStream = new ZipInputStream(Files.newInputStream(zipFile)); ZipOutputStream result = new ZipOutputStream(Files.newOutputStream(templ))) {
ZipEntry zipEntry = zipInputStream.getNextEntry();
while (zipEntry != null) {
String fileFullName = zipEntry.getName();
Path path = Paths.get(fileFullName);
if (pathList.contains(path))
ConsoleHelper.writeMessage(«мы удалили файл » + zipEntry.getName());
else {
if (zipEntry.isDirectory()) {

}
else
addNewZipEntry(result, path.getParent(), path.getFileName()); //метод создает новый ZipEntry
}
zipEntry = zipInputStream.getNextEntry();
}
}
Files.move(templ, zipFile, StandardCopyOption.REPLACE_EXISTING);
}
Смирено прошу вашей помощи! Пожалуйста…

SOS !Встречаемость символов! 8 уровень, 11 лекция

Решил эту задачу, проверил, все работает, но валидатор отправил меня в далекое плаванье с моим решением. Подскажите, пожалуйста, что не так, а то у меня уже третий день горит.
Вот код:
public class Solution {
public static void main(String[] args) throws Exception{
TreeMap<Integer, Integer> map = new TreeMap<>();
BufferedReader reader = new BufferedReader(new FileReader(args[0]));
while (reader.ready()) {
char[] array = reader.readLine().toCharArray();
for (char letter: array) {
if(map.get((int)letter) == null)
map.put((int)letter, 1);
else {
int a = map.get((int)letter);
a++;
map.put((int)letter, a);
}
}
}
reader.close();
char a;
int i;
for (Map.Entry<Integer, Integer> pair: map.entrySet()) {
i = pair.getKey();
a = (char) i;
System.out.println( a + " " + pair.getValue());
}
reader.close();
}
}
Говорит, мол, вывод должен быть отсортирован по возрастанию кода ASCII. Но он и так отсортирован, в этом и суть!
  • ,

Не понемаю, что не так(

При добавлении и обновлении персоны, последний аргумент считается датой, предпоследний полом.
При выводе удаленной персоны, на экран выводится «null null null». Если так не правильно, тогда как выводить удаленного?
Уже как только не переделывал — и свитч вместо ифов и статические функции для для операций. Писал тестовые случаи, дебажил. Все работает, но не принемается.
Код под катом…