Dezimal-zu-Oktal-Konvertierung [duplizieren]

Mögliche Duplikate:
Dezimalumwandlungsfehler

Ich schreibe ein Programm für eine Klasse und habe Probleme damit, eine Oktalzahl in eine Dezimalzahl umzuwandeln. Folgendes habe ich bisher versucht:

   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);
}
}

Ich brauche also im Grunde eine Möglichkeit, eine Zahl auf einzelne Ziffern zu reduzieren (dh 1337 in 1,3,3,7). Ich würde es wirklich gerne mit dem machen, was ich jetzt habe, aber meine Arbeitsweise scheint einige Fehler zu haben, die ich nicht sehen kann. Es funktioniert tatsächlich, wenn ich eine Zahl kleiner als 100 eingebe, aber wenn ich eine Zahl größer als 100 eingebe, wird die Konvertierung irgendwo durcheinander gebracht. Ich bin neu in Java. Je grundlegender die Technik, desto besser, danke

Antworten auf die Frage(5)

Ihre Antwort auf die Frage