我有一个程序,我必须编写代码来获取数组中的模式。我已经解决了这里。我想通过处理任何“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;
}