Десятичное в восьмеричное преобразование [дубликаты]

Возможный дубликат:

Десятичная ошибка преобразования

Я пишу программу для класса и не могу понять, как преобразовать восьмеричное число в десятичное число. Вот что я пытался сделать до сих пор:

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

так что в основном мне нужен способ уменьшить число до одной цифры (т.е. 1337 в 1,3,3,7). Я действительно хотел бы сделать это с тем, что у меня есть сейчас, но мой способ работы, похоже, содержит некоторые ошибки, которые я могу »не вижу. Это на самом деле работает, если я ввожу число меньше 100, но когда я ввожу число больше 100, преобразование где-то запутывается. Я новичок в Java, так что чем более базовая техника, тем лучше, спасибо

Ответы на вопрос(5)

Ваш ответ на вопрос