JAVA,利用Map集合判断控制台中输入的字符串中每个字符出现的次数。

	@Test
	//因为map集合中键值具有唯一性,所以第一次赋值直接剔除重复值.
	public void testMap() {
		System.out.println("*******请输入字符串********");
		Scanner sc=new Scanner(System.in);
		String str=sc.next();
		//将字符串转为字符数组
		char c[]=str.toCharArray();
		//用HashMap可以使集合根据key键值顺序排列.
		Map<Character,Integer>map=new HashMap<Character,Integer>();
		//将字符键值放入map集合中。
		for(int i=0;i<c.length;i++) {
			map.put(c[i], 0);
		}
		//判断次数
		for(int i=0;i<c.length;i++) {
			//containsKey方法判断集合中是否出现了参数中的键值.
			if(map.containsKey(c[i])) {//进行出现次数判断
				int t=map.get(c[i]);//取出当前次数
				t++;
				map.put(c[i], t);//再将当前次数放进集合中.
			}
		}
		//集合输出.用set集合存储map集合的key键值
		Set<Character> set=map.keySet();
		//获取set集合的迭代器,此时存储的是键值
		Iterator<Character>it=set.iterator();
		//迭代循环
		while(it.hasNext()) {
			Character cs=(Character)it.next();
			int i=map.get(cs);
			System.out.print(cs+"出现:"+i+"次,");
		}
	}

你可能感兴趣的:(javase)