# Java Convert Decimal to Octal

To convert a decimal number to octal in Java, you can use the following steps:

1. Take the decimal number as input.
2. Initialize a variable `octal` to 0, and another variable `power` to 1.
3. Divide the decimal number by 8 repeatedly until the quotient becomes 0. At each step, the remainder gives a digit of the octal number in reverse order.
4. Multiply the remainder by the power of 10 and add it to the `octal` variable.
5. Update the power variable by multiplying it by 10.
6. After all the digits have been obtained, reverse the `octal` variable to get the correct octal number.

Here’s an example Java code to convert a decimal number to octal:

```import java.util.Scanner;

public class DecimalToOctal {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a decimal number: ");
int decimal = sc.nextInt();
int octal = 0, power = 1;
while (decimal > 0) {
int digit = decimal % 8;
octal += digit * power;
power *= 10;
decimal /= 8;
}
System.out.println("Octal number: " + reverse(octal));
}

public static int reverse(int num) {
int rev = 0;
while (num > 0) {
int digit = num % 10;
rev = rev * 10 + digit;
num /= 10;
}
return rev;
}
}
```

In this code, the `reverse` method is used to reverse the `octal` variable, which gives the correct octal number.

### Java Decimal to Octal conversion: Integer.toOctalString()

Yes, in Java, you can also use the `Integer.toOctalString()` method to convert a decimal number to octal.

Here’s an example Java code to convert a decimal number to octal using the `Integer.toOctalString()` method:

```import java.util.Scanner;

public class DecimalToOctal {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a decimal number: ");
int decimal = sc.nextInt();
String octal = Integer.toOctalString(decimal);
System.out.println("Octal number: " + octal);
}
}
```

In this code, the `Integer.toOctalString()` method is used to convert the decimal number to octal and store it in the `octal` variable. Then, the `octal` variable is printed to display the octal number.

Note that the `toOctalString()` method returns a `String` representation of the octal number. If you need to perform any mathematical operations on the octal number, you may need to convert it back to an integer using the `Integer.parseInt()` method.

### Java Decimal to Octal conversion: Custom Logic

Sure! Here’s an example Java code to convert a decimal number to octal using custom logic:

```import java.util.Scanner;

public class DecimalToOctal {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a decimal number: ");
int decimal = sc.nextInt();
int octal = 0, i = 1;
while (decimal != 0) {
octal += (decimal % 8) * i;
decimal /= 8;
i *= 10;
}
System.out.println("Octal number: " + octal);
}
}
```

In this code, we use a `while` loop to repeatedly divide the decimal number by 8 and obtain the octal digits. The `octal` variable is initialized to 0, and the `i` variable is used to keep track of the position of the current digit. In each iteration of the loop, we calculate the current octal digit by taking the remainder of the decimal number when divided by 8, and multiplying it by `i`. We then add this value to the `octal` variable, and update `i` by multiplying it by 10 to move to the next digit position. Finally, we print the `octal` variable to display the octal number.

Note that this custom logic is similar to the one used in the first example, but without the need to reverse the octal number at the end.