Mein quellcode wird nicht in der Konsole ausgegeben

Michelangelo

Mitglied
Hallo Ihr lieben,
ich bin Java Anfänger und habe folgendes Problem.
Habe ein Code geschrieben zur Berechnung von Potenzen.
Alles lief wunderbar und auf einmal wollte die konsole meinen quelltext nicht mehr umsetzen.
liegt es vielleicht am code oder bin ich am laptop (mit dem Mausfeld ) irgendwo raufgekommen das es auf ein mal nicht funktioniert?
Würde mich über eure Hilfe freuen.


package potenzberechnung;

import javax.swing.*;

public class potenzberechnung {
public static long potenz(int Basis, int Exponent){
long ergebnis = 1;
while (Exponent>0);
ergebnis *= Basis;
--Exponent;
return ergebnis;
}
public static void main(String[] args) {

int Basis,Exponent;

Basis =Integer.parseInt(JOptionPane.showInputDialog("Geben Sie eine Zahl für die Basis ein: "));
Exponent =Integer.parseInt(JOptionPane.showInputDialog("Geben Sie eine Zahl für den Exponenten ein: "));

System.out.println("Die Potenzzahl lautet " +potenz(Basis,Exponent));

System.exit(0);
}
}
 
Du hast hier
while (Exponent>0);
ergebnis *= Basis;
--Exponent;
eine Endlosschleife. Schon das Semikolon am Ende der while-Zeile würde dazu führen. Mal etwas formatiert:
Java:
while (Exponent > 0) 
    ;
ergebnis *= Basis;
--Exponent;
Hier würde also die leere Anweisung so lange ausgeführt, so lange Exponent > 0 gilt. Das ist für einen positiven Exponenten natürlich immer der Fall, da er nicht verändert wird.

Es reicht daher auch nicht, einfach nur das Semikolon zu entfernen, denn das würde zu
Java:
while (Exponent > 0) 
    ergebnis *= Basis;

--Exponent;
führen. Auch hier wird der Exponent in der Schleife nicht verändert. Was Du brauchst, ist ein Block mit geschweiften Klammern, da Du mehrere Anweisungen in der Schleife ausführen möchtest:
Java:
while (Exponent > 0) {
    ergebnis *= Basis;
    --Exponent;
}
 

Neue Themen


Zurück
Oben