Let’s learn static method – java convert decimal to octal.

## Static method – java convert decimal to octal

Write a java program to convert a decimal number to octal number is one of the common java interview question.

In this post let’s learn decimal to octal conversion using static method.

**algorithm to convert decimal to octal**

In order to convert decimal to octal first user enters a decimal number. Then this decimal number is divided by 8.

After dividing decimal number by 8 store the remainder. Now we have to repeat previous steps until number is divided.

Also read – decimal to hexadecimal conversion in java

In the last step print the reverse of the remainder we got while dividing by 8 in the console.

This reversed octal number is equivalent to decimal number.

**Decimal to octal conversion**

Decimal | Octal |

0 | 0 |

1 | 1 |

2 | 2 |

3 | 3 |

4 | 4 |

5 | 5 |

6 | 6 |

7 | 7 |

8 | 10 |

9 | 11 |

10 | 12 |

11 | 13 |

12 | 14 |

13 | 15 |

14 | 16 |

15 | 17 |

16 | 20 |

Here’s how to write a java program to convert a decimal number to octal number,

import java.util.Scanner;

public class DecimalToOctal

{

static int a = 1;

public static void main(String[] args)

{

int decimal;

Scanner sc = new Scanner(System.in);

System.out.println("Please enter a decimal number : ");

decimal = sc.nextInt();

System.out.println("The octal number is : ");

int[] oct = convertToOctal(decimal);

for(int x = a - 1; x > 0; x--)

{

System.out.print(oct[x]);

}

sc.close();

}

static int[] convertToOctal(int oct) { int y[] = new int[50]; while(oct != 0) { y[a++] = oct % 8; oct = oct / 8; } return y; } }

**Output:**

Please enter a decimal number : 100

The octal number is : 144

Click here to learn vice versa of above java program with explanation.

Also read – decimal to binary in java

**Java program to convert decimal to octal using while loop**

Now let’s see how to convert decimal to octal using while loop.

import java.util.Scanner; public class DecimalToOctalUsingWhileLoop { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Please enter decimal number: "); int decimal = sc.nextInt(); int octal = 0, remainder, temp, a = 1; temp = decimal; // here loop continues until temp to 0 while(temp > 0) { // getting the remainder remainder = temp % 8; octal = octal + remainder * a; temp = temp / 8; a = a * 10; } System.out.println("Convert decimal to octal using while loop: " + octal); sc.close(); } }

**Output:**

Please enter decimal number: 23

Convert decimal to octal using while loop: 27