在列表中处理NullPointerException

时间:2014-05-23 18:12:45

标签: java nullpointerexception

我有一个程序,我必须编写代码来获取数组中的模式。我已经解决了这里。我想通过处理任何“null”值使程序行为更好而不返回控制台上的任何文本“红色”。我可以显示一条消息吗?我做了以下但是它不会工作。

提前致谢

public static List<Integer> getMode(int[] values) throws NullPointerException,NoSuchElementException {
     if(values == null)
         throw new NullPointerException("The argument cannot be null");


      HashMap<Integer,Integer> freqs = new HashMap<Integer,Integer>();


      for (int val : values) {
        Integer freq = freqs.get(val);
        freqs.put(val, (freq == null ? 1 : freq+1));
      }

      int mode = 0;
      int maxFreq = 0;

      for (Map.Entry<Integer,Integer> entry : freqs.entrySet()) {
        int freq = entry.getValue();
        if (freq > maxFreq) {
          maxFreq = freq;
          mode = entry.getKey();
        }
      }

      List<Integer> modes = new LinkedList<Integer>();
      for (Map.Entry<Integer,Integer> entry : freqs.entrySet()) {
          int freq = entry.getValue();
          if (freq == maxFreq) {
              modes.add(entry.getKey());
          }
      }

      return modes;
}

0 个答案:

没有答案