Hi,

The desired operations are already present in java, here is a list of all the operators avaiable in java.

Operator Name Example Result Description
a & b and 3 & 5 1 1 if both bits are 1.
a | b or 3 | 5 7 1 if either bit is 1.
a ^ b xor 3 ^ 5 6 1 if both bits are different.
~a not ~3 -4 Inverts the bits.

So, we can use this to get the required output, the only challenge being, we have to deal with strings, for that too we have the Integer class in java which can convert string to int, here is the complete solution.

import java.util.*;

import java.lang.*;

import java.io.*;

class Test

{

public static void main (String[] args) throws java.lang.Exception

{

String s1 = “101101”;

String s2 = “1001”;

// INTEGER.PARSEINT(S,2) CONVERTS STRING S TO INTEGER

Integer xor=Integer.parseInt(s1, 2) ^ Integer.parseInt(s2, 2); // ^ IS FOR XOR

Integer or=Integer.parseInt(s1, 2) | Integer.parseInt(s2, 2);

Integer and=Integer.parseInt(s1, 2) & Integer.parseInt(s2, 2);

// INTEGER.toBinaryString DOES THE OPPOSITE OF WHAT WE DID ABOVE

System.out.println(“XOR:”+Integer.toBinaryString(xor));

System.out.println(“OR:”+Integer.toBinaryString(or));

System.out.println(“AND:”+Integer.toBinaryString(and));

}

}

Hope this was helpful let me know if you have any questions.