Compiler-Fehler Kompilierfehler

Hallo,

ich habe eine Methode geschrieben, um eine Binärzahl solange hochzuzählen, bis sie 20 Einsen enthält. Wenn die um 1 erhöhte Binärzahl 20 Einser enthält, soll eine 1 zurückgegeben werden, ansonsten soll die Methode nochmal aufgerufen werden. Dem Compiler fehlt am Ende aber noch ein return Statement, obwohl ich dieses niemals erreichen würde.
Java:
public static int add(byte[] zahl, int anzahlEinser){
   if (zahl[40] == 0){
     zahl[40] = 1;
     anzahlEinser++;
   }else{
     anzahlEinser += uebertragen(zahl);
   }
   
   if (anzahlEinser == 20){
     return 1;
   }else{
     add(zahl, anzahlEinser);
   }
}

Habe ich da einen Denkfehler oder sollte ich einfach was hinschreiben, damit er das ausführt?
 
Zuletzt bearbeitet von einem Moderator:
Die Methode ruft sich selbst so lange neu auf, bis es stimmt. Ich möchte mit der unteren if Verzweigung abfragen, ob es 20 sind. Dann soll 1 zurückgegeben werden, sonst noch einmal Eins addiert werden.
 

Neue Themen


Oben