java works rekursive Divisionsmethode



rekursion java (1)

Ich muss eine rekursive Methode erstellen, die den ersten Wert (Basis 10) in eine Zahl in der Basis der zweiten konvertiert. Das ist, was ich bis jetzt habe, aber aus irgendeinem Grund kann ich die rekursive Funktion nicht richtig funktionieren lassen. Vielen Dank.

package lab06250;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
      Number newNumber;
      newNumber = new Number();
      Scanner kbd = new Scanner(System.in);
      int number;
      int remainder = 0;
      int base;

      System.out.println("Enter number:");
      number = kbd.nextInt();
      System.out.println("Enter base");
      base = kbd.nextInt();
      kbd.nextLine();

     System.out.println(Division(number, base));

    }
    public static int Division(int n, int b){
        int result;
        if (n == 1)
            result = 1;
            else
               result = Division(b, (n / b));

        return n;
    }

}

Zuallererst denke ich, es gibt einen Fluss in Ihrer Logik, wenn Sie die Basis ändern wollen (Ratenzahlsystem hier)

funktioniert wie folgt:

11 in Dezimal (numerisches System 10) dann

1*(power(10,1)) + 1*(power(10,0)

Sein binäres Äquivalent (1 höchste in 2 Basis)

1011

1*(power(2*3)) + 0*(power(2*2)) + 1*(power(2*1)) + 1*(power(2*0))

Sein Oktanzahläquivalent (7 am höchsten in 8 Basis)

13

1*(power(8*1)) + 3*(power(8*0))  

Sie müssen etwas auf der Grundlage von oben schreiben und Ihre Logik korrigieren. Nur ein Vorschlag verwende% anstelle von Division und versuche, das Ergebnis hinzuzufügen.





recursion