Rekursives Programmieren Java 

  • Ersteller Ersteller xlemmingx
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
X

xlemmingx

Hi,

Ich bin inzwischen beim rekursiven Programmieren angelangt, aber komm damit noch nicht so ganz klar. Wir sollen ein rekursives Programm schreiben, dass einen Wert mit einer beliebigen Basis von 2 bis 16 ins Dezimalsystem umrechnet und ich hab keinen Schimmer wie ich das angehen soll.

Das ist der Methodenrumpf:
Code:
public static int numberToDec(final int base, final String number){
//TODO
return 0;
}

Kann mir da mal jemand auf die Sprünge helfen? Wäre top!

MfG xlemmingx
 
Zuletzt bearbeitet:
Joa, halt immer die erste Stelle auswerten und dann die Stelle wegnehmen und die Methode rekursiv auf den Rest anwenden.

PHP:
import java.lang.Math;

public class HelloWorld {

public static int numberToDec(final int base, final String number) {
int length = number.length();
if (length == 0) return 0;
else {
int digit = digitToDec(Character.toUpperCase(number.charAt(0)));
int ret = (int)Math.pow(base,length-1) * digit;
return ret + numberToDec(base,number.substring(1));
}
}

public static int digitToDec(char number) {
//65 = 'A', 90 = 'Z'
if ((int)number >= 65 && (int)number  else {
int num = Character.digit(number,10);
if (num >= 0 && num < 10) return num;
else return 0;
}
}

public static void main(String[] args) {
System.out.println(numberToDec(16,"fF")); 
}

}
 
Zuletzt bearbeitet von einem Moderator:
Problem gelöst, Top!
Vielen Dank Skyte.

geschlossen

MfG xlemmingx
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten