java中用for循环求一个数组中出现最多次数的元素
展开全部
也就是求众数
public static double mode(double[] array) {
Arrays.sort(array);
int count = 1;
int longest = 0;
double mode = 0;
for (int i = 0; i < array.length - 1; i++) {
if (array[i] == array[i + 1]) {
count++;
} else {
count = 1;//如果不等于,就换到了下一个数,那么计算下一个数的次数时,count的值应该重新符值为一
continue;
}
if (count > longest) {
mode = array[i];
longest = count;
}
}
System.out.println(longest);//打印出这个数出现的次数已判断是否正确
return mode;
}
调用这个方法就可以了
展开全部
Map<Integer, Integer> m = new HashMap<Integer, Integer>();
// key:Integer(int)(数组元素的类型)Value:Integer(次数)
int[] a = new int[20];// 给a赋值
a[0] = 1;
a[1] = 2;
for (int i = 0; i < a.length; i++) {
if (m.get(a[i]) == null) {
m.put(a[i], 1);// 如果这个元素第一次出现
} else {
m.put(a[i], m.get(a[i]) + 1);// 重复则+1
}
}
int max = 0;int id=0;
Set<Integer> key=null;
for (int i = 0; i < m.size(); i++) {
if (m.get(i) > max) {
max = m.get(i);// 获取最大次数
id=i;
key = m.keySet();
}
}
System.out.println("出现最多的是:" + key.toArray()[id]);
System.out.println("出现最多次数:" + max);
结果:
出现最多的是:0
出现最多次数:18
望采纳
// key:Integer(int)(数组元素的类型)Value:Integer(次数)
int[] a = new int[20];// 给a赋值
a[0] = 1;
a[1] = 2;
for (int i = 0; i < a.length; i++) {
if (m.get(a[i]) == null) {
m.put(a[i], 1);// 如果这个元素第一次出现
} else {
m.put(a[i], m.get(a[i]) + 1);// 重复则+1
}
}
int max = 0;int id=0;
Set<Integer> key=null;
for (int i = 0; i < m.size(); i++) {
if (m.get(i) > max) {
max = m.get(i);// 获取最大次数
id=i;
key = m.keySet();
}
}
System.out.println("出现最多的是:" + key.toArray()[id]);
System.out.println("出现最多次数:" + max);
结果:
出现最多的是:0
出现最多次数:18
望采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-08-19
展开全部
// 测试数组
int[] array = {2,4,6,8,2,5,8,2,10};
HashMap<Integer, Integer> hashMap = new HashMap<Integer, Integer>();
for (int i : array) {
hashMap.put(i, hashMap.get(i) == null ? 0 :hashMap.get(i)+1);
}
Set<Integer> keySet = hashMap.keySet();
int maxKey = 0;
int maxValue = 0;
for (Integer integer : keySet) {
if(hashMap.get(integer) > maxValue){
maxKey = integer;
maxValue = hashMap.get(integer);
}
}
System.out.println(maxKey);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询