Bit stuffing in Java
In this tutorial, we will solve the problem of bit stuffing in Java.
We will use a simple and efficient approach to implement bit stuffing.
Bit stuffing is a technique used in data transmission to ensure that the data frame’s start and end flags are not confused with the data itself. Whenever a sequence of five consecutive 1s appears in the data, a 0 is inserted to break the sequence.

Steps to Solve the Problem
- Create a class named
BitStuffing: Inside this class, we will have methods to perform bit stuffing. - Define the bit stuffing method: This method will take a binary string as input and insert a
0after every sequence of five consecutive1s. - Initialize variables: Use a counter to keep track of consecutive
1s and aStringBuilderto build the resulting stuffed bit string. - Iterate through the input string: For each bit, check if it is
1and update the counter. If the counter reaches five, insert a0and reset the counter. - Return the stuffed string: Convert the
StringBuilderto a string and return the result. - Display the result: Use the
System.out.printlnmethod to display the stuffed bit string.
public class BitStuffing {
public static void main(String[] args) {
String input = "011111110111111";
String stuffed = bitStuffing(input);
System.out.println("Original: " + input);
System.out.println("Stuffed: " + stuffed);
}
public static String bitStuffing(String input) {
StringBuilder result = new StringBuilder();
int counter = 0;
for (int i = 0; i < input.length(); i++) {
char bit = input.charAt(i);
result.append(bit);
if (bit == '1') {
counter++;
if (counter == 5) {
result.append('0');
counter = 0;
}
} else {
counter = 0;
}
}
return result.toString();
}
}
Sample Output
After successfully compiling and running the above code, the output will be:
Original: 011111110111111 Stuffed: 01111101001111101