Weder Consolenausgabe noch Fehlermeldung!

mincemeater

Mitglied
Hallo zusammen. Im Rahmen meines Studiums beschäftige ich mich derzeit mit Java und ich stoße immer wieder mal an Probleme, die ich nicht lösen kann! Es gibt folgende Aufgabe zu bewältigen:

"Gesucht ist die Wurzel von x. Wähle x als Ober- und 0 als Untergrenze für mögliche Kandidaten. Bilde dann den Mittelwert aus Ober- und Untergrenze und überprüfe das Quadrat des Mittelwerts, Liegt es innerhalb einer anzugebenden Epsilon-Umgebung zu x, dann beende die Berechnung, Wennn das Ergebnis über x liegt, wähle den Mittelwert als neue Obergrenze. Wenn das Ergebnis unter x liegt, Wähle den Mittwlwert als neue Untergrenze. Wiederhole die Berechnung"

So dazu habe ich folgenden Code geschrieben:

Java:
public class epsilon {

		public static double berechneWurzel(double x, double eps) {
			double og = x;
			double ug = 0;
			boolean gefunden = false;
			double mw=0;
			while (!gefunden) {
			mw = (og+ug) / 2;
			double quadrat = mw * mw;
			if (quadrat > x + eps) {
			og= mw;
			} else if (quadrat < x - eps) {
			ug = mw;
			} else {gefunden = true;}
			}
			return mw;
		}

}

Das ist auch soweit richtig, nun hab ich mir gedacht, dass ich mir mal was ausgeben lassen will über eine andere klasse, habe also folgendens erstellt:


Java:
public class auslesen {
	public static void main(String[] args) {
	double x = epsilon.berechneWurzel(5.0, 0.0);
	
	

	System.out.print("die Wurzel ist: " +x);
} }

Wenn ich nun die Klasse auslesen ausführe, bekomme ich weder eine Fehlermeldung, noch geschieht aber irgendwas. Also ich bekomme keine Ausgabe in der Konsole.

Was läuft da verkehrt? Vielen Dank schonmal!
 
du hast ne Endlosschleife gebaut, du kommst nicht aus deiner While Schleife raus
da gefunden nie True wird

bau mal nen System.out.println in eine Schleife ein, dann siehste, dass der die ganze Zeit dort hängt 😉
 
Zuletzt bearbeitet:
einfach über den grünen pfeilbutton oben, macht man doch immer so oder?

Beendet sich das Programm von alleine, oder läuft es immer weiter.
Ich hab den Code nicht bis ins Kleinste analysiert, aber möglich wäre z.B.,
dass gefunden niemals wahr wird und demnach die Schleife nie verlassen wird.
Das wäre wiederum ein Grund dafür, dass keine Ausgabe erfolgt.

EDIT: leider zu spät. ;-)
 
Alles klar, vielen Dank! Das mit der Endlosschleife liegt wie ich gerade festgestellt habe übrigens daran, dass ich für das Epsilon nen 0.0 übergebe! Wenn ich z.b. 5.0, 1.0 übergebe, bekomme ich auch ne ausgabe!

Also nochmals danke, für eure hilfe!
 

Neue Themen


Zurück
Oben