Всем привет) Подскажите, пожалуйста, что изменить в коде, чтобы не было NumberFormatException? Понимаю, что это из-за пустой строки, но откуда она берется, понять не в состоянии... Хм... почему-то решение со сканнером предлагает. Попробую здесь прикрепить через BufferedReader
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
FileInputStream fis = new FileInputStream(bf.readLine());
bf.close();
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String s;
ArrayList<Integer> list = new ArrayList<>();
HashMap<Integer, Integer> map = new HashMap<>();
while ((s = br.readLine()) != null) {
int n = Integer.parseInt(s);
list.add(n);
}
fis.close();
isr.close();
br.close();
int count = 0;
for (Integer l : list) {
count = Collections.frequency(list, l);
map.put(l, count);
}
Map<Integer, Integer> maxEntry = null;
Integer max = Collections.max(map.values());
for (Map.Entry<Integer, Integer> pair : map.entrySet()) {
int value = pair.getValue();
int key = pair.getKey();
if (max == value) {
System.out.print(key + " ");
}
}
}
}package com.javarush.task.task18.task1803;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.util.*;
/*
Самые частые байты
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String fileName = bf.readLine();
bf.close();
ArrayList<Integer> list = new ArrayList<>();
HashMap<Integer, Integer> map = new HashMap<>();
FileInputStream fis = new FileInputStream(fileName);
InputStreamReader isr = new InputStreamReader(fis);
try (Scanner s = new Scanner(isr)) {
while (s.hasNext()) {
list.add(s.nextInt());
}
fis.close();
isr.close();
s.close();
}
int count = 0;
for (Integer l : list) {
count = Collections.frequency(list, l);
map.put(l, count);
}
Map <Integer, Integer> maxEntry = null;
Integer max = Collections.max(map.values());
for (Map.Entry<Integer, Integer> pair : map.entrySet()) {
int value = pair.getValue();
int key = pair.getKey();
if( max == value) {
System.out.print(key + " ");
}
}
}
}
//Collections.frequency(list, byte);