Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hi ich muss folgende Aufgabe mittels Schleife lösen:
Ergänzen Sie die Klasse Schleifentest um eine Methode potenz(), der zwei ganze Zahlen
a und b übergeben werden und die dann die Potenz ab berechnet und zurückgibt. Die Methode
soll so vorgehen, dass die Zahl a b-mal mit sich selbst multipliziert wird. Also berechnet
man z.B. 53 als 5*5*5.
Aber Vorsicht: a0 ist immer 1, egal welchen Wert a hat.
Meine frage ist, was muss beid er Schleife in die Bedingung rein in der Aufgabe ist ja keine Bedingung formuliert?
Danke im Vorraus!
In Zeile 5. Zwei Fehler in einer so kurzen Zeile - Respekt ;-)
Wie gehst Du vor, wenn Du per Hand potenzierst?
Bei 2^5 rechnest Du ja auch nicht 5*2*2... sondern 2*2*2*2*2
Ausserdem darfst Du den Wert von a während der Berechnung nicht ändern.
Du brauchst eine dritte Variable, die mit 1 initialisiert wird.
Wenn man gewisse Dinge nicht schafft sollte man sich überlgen ob man nicht lieber nochmal von vorne startet... Ich mein Jetzt konkreet... so 3 oder 4 Klasse Volksschule.. das würde helfen...
Java:
public class Potenz {
public static void main(String[] args) {
Potenz p = new Potenz();
System.out.println(p.potenz(2, 5));
}
public int potenz(int a, int b)
{
int potenz = 1;
for (int i = 1; i < b; i++)
{
potenz = a * a;
System.out.println("bei: "+i+":"+potenz);
}
{
return potenz;
}
}
}
public int potenz(int a, int b)
{
int potenz = 1;
for (int i = 1; i < b; i++)
{
potenz = potenz * a;
System.out.println("bei: "+i+":"+potenz);
}
{
return potenz;
}
}
public int potenz(int a, int b)
{
int potenz = 1;
for (int i = 0; i < b; i++)
{
potenz = potenz * a;
System.out.println("bei: "+i+":"+potenz);
}
{
return potenz;
}
}
Schon besser.
Die Schleife muss mit 0 starten oder bis <=b laufen.
Dann muss noch eine Kleinigkeit in Zeile 6 geändert werden, so gibst Du ja einfach a*a zurück.
Es soll aber letztendlich
"Wenn man gewisse Dinge nicht schafft sollte man sich überlgen ob man nicht lieber nochmal von vorne startet... Ich mein Jetzt konkreet... so 3 oder 4 Klasse Volksschule.. das würde helfen..."
Ist das der normale Umgangston in diesem Forum? Was denkst du wer du bist, dass du mich hier so beleidigst?
ich hab mit Informatik nichts am Hut und bin froh wenn das Schuljahr rum ist und ich nicht mehr programmieren muss!
Sorry, aber du bist echt ein idiot!
"Wenn man gewisse Dinge nicht schafft sollte man sich überlgen ob man nicht lieber nochmal von vorne startet... Ich mein Jetzt konkreet... so 3 oder 4 Klasse Volksschule.. das würde helfen..."
Ist das der normale Umgangston in diesem Forum? Was denkst du wer du bist, dass du mich hier so beleidigst?
ich hab mit Informatik nichts am Hut und bin froh wenn das Schuljahr rum ist und ich nicht mehr programmieren muss!
Sorry, aber du bist echt ein idiot!
Was genau macht diese Schleifenbedingung, ich meine was ist genau i, wo kommt das i her und was macht es?
Insbesondere verstehe ich nicht was i++ macht. Danke!
Was genau macht diese Schleifenbedingung, ich meine was ist genau i, wo kommt das i her und was macht es?
Insbesondere verstehe ich nicht was i++ macht. Danke!
i ist ein Integer, also eine ganze Zahl.
i++ ist das gleiche wie i=i+1, zählt also i um 1 hoch.
Die Schleife funktioniert so:
starte mit einem Wert (i=0)
Solange i<b ist, führe die Schleife aus, und erhöhe i um 1. Ist das nicht der Fall, mache nach der Schleife weiter.
Da sich der TO noch nicht besonders grosser Übung erfreut lassen wir Speziafälle wie
m ^ 0 = 1 und negative Exponenten mal beiseite, aber dein Einwand stimmt natürlich.