From a0fe3d97abc68de41444e1b59efbb1ed9655fa17 Mon Sep 17 00:00:00 2001 From: ziameraj16 Date: Mon, 5 Jul 2021 20:45:08 +0100 Subject: Java solution for swap odd even bits --- challenge-120/ziameraj16/java/SwapOddEvenBits.java | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 challenge-120/ziameraj16/java/SwapOddEvenBits.java (limited to 'challenge-120/ziameraj16/java/SwapOddEvenBits.java') diff --git a/challenge-120/ziameraj16/java/SwapOddEvenBits.java b/challenge-120/ziameraj16/java/SwapOddEvenBits.java new file mode 100644 index 0000000000..115493de32 --- /dev/null +++ b/challenge-120/ziameraj16/java/SwapOddEvenBits.java @@ -0,0 +1,23 @@ +import java.util.Scanner; + +public class SwapOddEvenBits { + + public static void main(String[] args) { + Scanner scanner = new Scanner(System.in); + System.out.println("Enter the number"); + int number = scanner.nextInt(); + System.out.println(swap(number)); + } + + public static int swap(int number) { + final String binaryString = Integer.toBinaryString(number); + String formattedString = String.format("%0"+ (8 - binaryString.length() ) + "d%s", 0 , binaryString); + StringBuilder sb = new StringBuilder(formattedString); + for (int i = 0; i < 7; i += 2) { + char temp = formattedString.charAt(i); + sb.replace(i, i + 1, String.valueOf(formattedString.charAt(i + 1))); + sb.replace(i + 1, i + 2, String.valueOf(temp)); + } + return Integer.parseInt(sb.toString(), 2); + } +} -- cgit