Konwersja dziesiętna na ósemkową [duplikat]

Możliwy duplikat:
Błąd konwersji dziesiętnej

Piszę program dla klasy i mam problem z przekonaniem się, jak przekonwertować liczbę ósemkową na liczbę dziesiętną. Oto, co próbowałem zrobić do tej pory:

   import java.util.Scanner;

public class test   
{ 
public static void main ( String args[])
{
    Scanner input = new Scanner(System.in);

    System.out.print("Enter number: ");
    int oct  = input.nextInt();
    int d2count = 0;
    int result=0;
    int d3count = 0;
    int d3 = 0;
    int d2 = 0;

    d3 = oct;
    d2 = oct;

    if(oct < 1000){
    while ( d3 >= 100){
    d3 = d3 - 100;
        d3count++;
    }}

    if (oct < 100){
    while ( d2 >= 10){
    d2 = d2 - 10;
        d2count++;
    }}

    result = (d3count * 64)+(d2count * 8) + d2;
System.out.printf("%d\n",result);
}
}

więc zasadniczo potrzebuję sposobu na zmniejszenie liczby do pojedynczych cyfr (tj. 1337 na 1,3,3,7). Naprawdę chciałbym to zrobić za pomocą tego, co mam teraz, ale wydaje mi się, że mój sposób działania zawiera pewne błędy, których nie widzę. W rzeczywistości działa, gdy wprowadzę liczbę mniejszą niż 100, ale gdy wprowadzę liczbę wyższą niż 100, konwersja zostaje gdzieś pomieszana. Jestem nowy w Javie, więc im bardziej podstawowa technika, tym lepiej, dzięki

questionAnswers(5)

yourAnswerToTheQuestion