Hilfe bei Fehlerfindung einer rekursiven Methode

Hallo,
ich soll eine rekursive Methode programmieren, welche eine Dezimalzahl nach dem Hornerschema in eine Binärzahl umwandeln. Die Klasse kompiliert zwar, gibt aber immer nur 0 aus. Wieso wird die Methode teilen nicht mehrmals aufgerufen bzw. wo könnte sonst noch ein Fehler liegen?
danke im Vorraus


Java:
class horner {
  
    public static int rechnen (int x) {
        if (x % 2==1)
            return 1;
        else
            return 0 ;
    }
  
    public static int teilen (int x) {
        if (x<2)
            return 1;
        else
            return teilen(x/2) & rechnen(x);
    }
  
      
  
    public static void main (String [] args ){
        int x = 123 ;
        System.out.print(teilen(x)) ;
    }
}
 
Zuletzt bearbeitet von einem Moderator:
Die Zeile:

Java:
return teilen(x/2) & rechnen(x);

wird dir beim ersten Aufruf 0 oder 1 zurückliefern je nach x ! Denn rechnen(x) liefert auch 0 oder 1 und wenn du das binär mit irgendwas undest kommt wieder 0 oder 1 raus !

Du wolltest dir doch sicher einen String, bestehend aus 0en oder 1en zusammenbasteln oder
 

Neue Themen


Zurück
Oben