【Java面试题】字符串压缩

通过Java实现字符串压缩,如下:

qqawwwzz 经过压缩后变成 2q1a3w2z

代码如下:


//        System.out.print("请输入一串字符串:");
//        Scanner s = new Scanner(System.in);
//        String str = s.nextLine();
        String str = "qqawwwzz";
        StringBuffer result = new StringBuffer();
        char word1 = str.charAt(0);// 取第一个字符
        int sum = 1;// 连续字符的个数
        for (int i = 1; i < str.length(); i++) {
            char word2 = str.charAt(i);    // 循环取字符
            if (word1 == word2) {// 把前一个字符和当前字符比较
                sum++; // 相同的字符 个数加1
                continue;
            }
            result.append(sum).append(word1); // 拼接字符
            word1 = word2;    // 当前字符变为前一个字符
            sum = 1;// 重置
        }
        System.out.println("字符串压缩后:" + result.append(sum).append(word1));// 加上最后一个字符及个数,打印输出

最后效果图如下:
在这里插入图片描述

你可能感兴趣的:(-----❽,Java面试题)