统计你的手机号码中出现次数最多的数字,并打印出此数字及其出现次数
2016-03-01 22:18
459 查看
package com.gemptc;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class FindMostNumber {
public static void show(String phone){
//第一步:把手机号码转换为字符串数组
char[] numbers = phone.toCharArray();
//第二步:求出每个数字出现的次数,定义一个map对象,键是手机号码中的每一个数字,value是手机数字出现的次数
//如果集合中不存在当前手机数字,则把当前数字做为键值,对应的value值为1,表示第一次出现
//如果集合中存在当前手机数字,则已有当前数字做为的键值,取出当前键值对应的value值,表示已经出现了几次,自加1之后再修改其值
Map<Character, Integer> map = new HashMap<Character,Integer>();
for (int i = 0; i < numbers.length; i++) {
char dight =numbers[i];
if (!map.containsKey(dight)) {
//第一次出现
map.put(dight, 1);
}else{
int count = map.get(dight);
count++;
//说明不是第一次出现,先查看它出现了几次
map.put(dight, count);
}
}
Set<Entry<Character, Integer>> set = map.entrySet();
for (Entry<Character, Integer> entry : set) {
System.out.println("手机号码:"+entry.getKey()+ "--->" + "出现次数是:"+entry.getValue());
}
//第二步:取出次数的最大值
Collection<Integer> c = map.values();//map的value值的集合
int max = Collections.max(c);//max即手机号码出现次数的最大值
System.out.println("----------------------");
Set<Entry<Character, Integer>> set2 = map.entrySet();
for (Entry<Character, Integer> entry : set2) {
//只输出出现次数最多的数字
if (entry.getValue() == max) {
System.out.println("手机号码:"+entry.getKey()+ "--->" +"出现次数最多是:"+ max);
}
}
}
public static void main(String[] args) {
show("13913535174");
}
}
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class FindMostNumber {
public static void show(String phone){
//第一步:把手机号码转换为字符串数组
char[] numbers = phone.toCharArray();
//第二步:求出每个数字出现的次数,定义一个map对象,键是手机号码中的每一个数字,value是手机数字出现的次数
//如果集合中不存在当前手机数字,则把当前数字做为键值,对应的value值为1,表示第一次出现
//如果集合中存在当前手机数字,则已有当前数字做为的键值,取出当前键值对应的value值,表示已经出现了几次,自加1之后再修改其值
Map<Character, Integer> map = new HashMap<Character,Integer>();
for (int i = 0; i < numbers.length; i++) {
char dight =numbers[i];
if (!map.containsKey(dight)) {
//第一次出现
map.put(dight, 1);
}else{
int count = map.get(dight);
count++;
//说明不是第一次出现,先查看它出现了几次
map.put(dight, count);
}
}
Set<Entry<Character, Integer>> set = map.entrySet();
for (Entry<Character, Integer> entry : set) {
System.out.println("手机号码:"+entry.getKey()+ "--->" + "出现次数是:"+entry.getValue());
}
//第二步:取出次数的最大值
Collection<Integer> c = map.values();//map的value值的集合
int max = Collections.max(c);//max即手机号码出现次数的最大值
System.out.println("----------------------");
Set<Entry<Character, Integer>> set2 = map.entrySet();
for (Entry<Character, Integer> entry : set2) {
//只输出出现次数最多的数字
if (entry.getValue() == max) {
System.out.println("手机号码:"+entry.getKey()+ "--->" +"出现次数最多是:"+ max);
}
}
}
public static void main(String[] args) {
show("13913535174");
}
}
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android上改变listView的选中颜色
- String.intern
- gitinspector+jenkins 开发代码统计CI
- Prototype源码浅析 String部分(二)
- Ruby中的String对象学习笔记
- C#中struct和class的区别详解
- C#实现统计字数功能的方法
- PostgreSQL ERROR: invalid escape string 解决办法
- PowerShell统计文件夹下文件个数的方法
- 基于C#实现手机号码归属地接口调用
- VBS ArrayList Class vbs中的数组类
- 大家看了就明白了css样式中类class与标识id选择符的区别小结
- 如何统计全天各个时间段产品销量情况(sqlserver)
- C#统计字符串中数字个数的方法
- C语言中使用lex统计文本文件字符数
- 如何统计在一篇文章中某个单词出现了几次,以及第一次出现的位置