分别统计字符串内所有字符的个数

package Test05;

import java.util.HashSet;
import java.util.Set;

//用户输入字符串"If~you-want~to~change-your_fate_I_think~you~must~come-to-the-dark-horse-to-learn-java"
//程序输出结果:-(9)I(2)_(3)a(7)c(2)d(1)e(6)f(2)g(1)h(4)i(1)j(1)k(2)l(1)m(2)n(4)o(8)r(4)s(2)t(8)u(4)v(1)w(1)y(3)~(6)
public class CharDemo {
	public static void main(String[] args) {
//思路:将字符串的每个字符存入Set集合,并进行去重。然后,遍历累加输出即可。
		String str = "If~you-want~to~change-your_fate_I_think~you~must~come-to-the-dark-horse-to-learn-java";
		// 字符数组
		char[] charArray = str.toCharArray();
		// 字符集合
		Set<Character> c = new HashSet<Character>();

		for (int i = 0; i < charArray.length; i++) {
			// 存入字符集合
			c.add(charArray[i]);
		}

		// 定义数组
		// String[] arr = c.toArray(new String[c.size()]);
		// System.out.println(Arrays.toString(arr));
		Character[] arr = c.toArray(new Character[c.size()]);
		for (int i = 0; i < arr.length; i++) {
			int count = 0;
			for (int j = 0; j < charArray.length; j++) {
				if (arr[i].equals(charArray[j])) {
					count++;
				}
			}
			System.out.print(arr[i] + "(" + count + ")");
		}

	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值