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+"次,");
		}
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值