Преобразование двоичных чисел в восьмеричные в Java: несколько методов

Вот программа на Java, которая преобразует двоичное число в его восьмеричный эквивалент, используя различные методы:

Метод 1: использование функций Integer.parseInt() и Integer.toOctalString()

import java.util.Scanner;
public class BinaryToOctal {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter a binary number: ");
        String binary = scanner.nextLine();
        int decimal = Integer.parseInt(binary, 2);
        String octal = Integer.toOctalString(decimal);
        System.out.println("Octal equivalent: " + octal);
    }
}

Метод 2: использование Integer.parseInt() и StringBuilder

import java.util.Scanner;
public class BinaryToOctal {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter a binary number: ");
        String binary = scanner.nextLine();
        int decimal = Integer.parseInt(binary, 2);
        StringBuilder octal = new StringBuilder();
        while (decimal != 0) {
            octal.insert(0, decimal % 8);
            decimal /= 8;
        }
        System.out.println("Octal equivalent: " + octal);
    }
}

Метод 3. Использование побитовых операций

import java.util.Scanner;
public class BinaryToOctal {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter a binary number: ");
        String binary = scanner.nextLine();
        int decimal = 0;
        int power = 0;
        for (int i = binary.length() - 1; i >= 0; i--) {
            int bit = binary.charAt(i) - '0';
            decimal += bit << power;
            power++;
        }
        StringBuilder octal = new StringBuilder();
        while (decimal != 0) {
            octal.insert(0, decimal % 8);
            decimal /= 8;
        }
        System.out.println("Octal equivalent: " + octal);
    }
}