Bedingter Ausdruck

Hero

Mitglied
Hallo,
ich muss überall wo ich eine if-schleife verwende ein Bedingten Ausdruck verwenden, Beispiel:
Java:
int fakt(int n){
return (n <= 0) ? 1 : n*fakt(n-1);
}

Ich will den bedingten Ausdruck in einer for-schleife benutzen aber bei mir will er int i nicht hochzählen bzw. er geht nur einmal in die Schleife rein. Wenn ich es über eine If-Abfrage mache, geht es.

Mein Code:
Java:
  int rueckgabe = 0;
			  for (int i = 0; i < dual.length(); i=i+1){
				  return  (Integer) ((dual.charAt(i) == '1')? rueckgabe += (int)Math.pow(2, dual.length() - 1 - i):true);}
 

Murray

Top Contributor
Ich muss gestehen, ich verstehe die Fragestellung nicht wirklich. Wenn aber in einer for-Schleife der Schleifenrumpf aus nichts anderem als einer return-Anweisung besteht, dann ist es für mich nicht weiter verwunderlich, dass dieser Schleifenrumpf höchstens einmal ausgeführt wird.
Vielleicht magst Du das Problem nochmal anders formulieren?

BTW: den Begirff "if-Schleife" soltest Du vermeiden - das provoziert Posts, die nur erklären, dass es so etwas wie eine "if-Schliefe" nicht gibt.
 

Hero

Mitglied
Ja ich weiß, dass man If-Schleife nicht sagen darf, wird aber von Schülern ganz gerne verwendet :D.

Ansonsten Danke. Da war ein Denkfehler meinerseits gewesen. Es geht jetzt.
 

Neue Themen


Oben