Basic String Compression
This program compresses string by counting consecutive characters.
Problem Statement
Write a Java program to compress "aaabbc" into "a3b2c1".
Source Code
| 1 | public class StringCompression { |
| 2 | public static void main(String[] args) { |
| 3 | System.out.println("Eduinq String Compression"); |
| 4 | String str="aaabbc"; |
| 5 | StringBuilder comp=new StringBuilder(); |
| 6 | int count=1; |
| 7 | for(int i=1;i<=str.length();i++){ |
| 8 | if(i==str.length() || str.charAt(i)!=str.charAt(i-1)){ |
| 9 | comp.append(str.charAt(i-1)).append(count); |
| 10 | count=1; |
| 11 | } else count++; |
| 12 | } |
| 13 | System.out.println("Compressed string: "+comp.toString()); |
| 14 | } |
| 15 | } |
Program Output
Eduinq String Compression Compressed string: a3b2c1
Explanation
A loop counts how many times each character repeats consecutively, and whenever the character changes (or the string ends), the character and its count are appended to the compressed result, demonstrating basic run-length string compression.