# Java Program to Convert Binary To Octal

Write a Java program to convert binary to octal. In this language, to convert binary, we first have to convert it to a decimal number and then to octal. So, we use parseInt to convert it to decimal and then use toOctalString for octal conversion.

```package Remaining;

public class BinaryToOctal1 {

public static void main(String[] args) {

String s1 = "1101";
String s2 = "11111";
String s3 = "101010";

int a = Integer.parseInt(s1, 2);
int b = Integer.parseInt(s2, 2);
int c = Integer.parseInt(s3, 2);

System.out.println("Binary To Octal Result");
System.out.println(Integer.toOctalString(a));
System.out.println(Integer.toOctalString(b));
System.out.println(Integer.toOctalString(c));
}
}```
``````Binary To Octal Result
15
37
52``````

This Java example accepts the binary and converts it to octal using parseInt and toOctalString.

```package Remaining;

import java.util.Scanner;

public class BinaryToOctal2 {

private static Scanner sc;

public static void main(String[] args) {

sc= new Scanner(System.in);

System.out.print("Please Enter Binary Number = ");
String binary = sc.nextLine();

int decimalVal = Integer.parseInt(binary, 2);

String OctalVal = Integer.toOctalString(decimalVal);
System.out.println("Binary To Octal Result     = " + OctalVal);
}
}```

Java program to convert binary to octal using a while loop. The first while loop is to convert binary to decimal, and the second is to convert decimal to octal.

```package Remaining;

import java.util.Scanner;

public class BinaryToOctal3 {

private static Scanner sc;

public static void main(String[] args) {

sc= new Scanner(System.in);

long binary = sc.nextLong();

int octalVal = 0, decimalVal = 0, i = 0, j = 0;

while(binary > 0)
{
decimalVal = (int) (decimalVal  + Math.pow(2, i++) * (binary % 10));
binary = binary / 10;
}

while(decimalVal != 0)
{
octalVal = (int) (octalVal + (decimalVal % 8) * Math.pow(10, j++));
decimalVal = decimalVal / 8;
}

System.out.println("Result     = " + octalVal);
}
}```
``````Please Enter Number = 11111111
Result     = 377

Result     = 15``````

This program helps to convert binary to octal using the for loop.

```package Remaining;

import java.util.Scanner;

public class BinaryToOctal4 {

private static Scanner sc;

public static void main(String[] args) {

sc= new Scanner(System.in);

long binary = sc.nextLong();

int i, octalVal = 0, decimalVal = 0;

for(i = 1; binary != 0; binary = binary / 10, i = i *  2)
{
decimalVal = (int) (decimalVal  + (binary % 10) * i);
}

for(i = 1; decimalVal != 0; i = i * 10)
{
octalVal = octalVal + (decimalVal % 8) * i;
decimalVal = decimalVal / 8;
}

System.out.println("Result     = " + octalVal);
}
}```
``````Please Enter Number = 11001101
Result     = 315