diff --git a/src/main/java/com/conversions/BinaryToGray.java b/src/main/java/com/conversions/BinaryToGray.java new file mode 100644 index 00000000..1482b8d6 --- /dev/null +++ b/src/main/java/com/conversions/BinaryToGray.java @@ -0,0 +1,28 @@ +package src.main.java.com.conversions; + +public class BinaryToGray +{ + /* This method convert the binary number into gray code + @param binarycode need to convert binary number into gray code + @return graycode return as string + */ + + public String binaryToGray(String binarycode) + { + + StringBuilder graycode = new StringBuilder(Character.toString(binarycode.charAt(0))); + + for(int i = 0; i < binarycode.length() - 1; i++) + { + + if (binarycode.charAt(i) == binarycode.charAt(i+1)) + graycode.append("0"); + else + graycode.append("1"); + + } + + return graycode.toString(); + } + +} diff --git a/src/test/java/com/conversions/BinaryToGrayTest.java b/src/test/java/com/conversions/BinaryToGrayTest.java new file mode 100644 index 00000000..c44f5470 --- /dev/null +++ b/src/test/java/com/conversions/BinaryToGrayTest.java @@ -0,0 +1,18 @@ +package src.test.java.com.conversions; + +import src.main.java.com.conversions.BinaryToGray; +import org.junit.Test; +import static org.junit.Assert.assertEquals; + +public class BinaryToGrayTest +{ + + @Test + public void testBinaryToGray() + { + BinaryToGray btog = new BinaryToGray(); + assertEquals("1101", btog.binaryToGray("1001")); + assertEquals("11010011101",btog.binaryToGray("10011101001")); + } + +}