Datentypen Ergebniss- Double to String- wird nicht angezeigt

MalzbierFTW

Mitglied
Moin,
ich soll für meine Facharbeit in Mathe ein Programm zur Berechnung Integrale ganzrationaler Funktionen
schreiben. Soweit bin ich fertig, nur wird mir das Ergebnis nicht angezeigt, obwohl es Berechent wird
(habe mit Breakpoints gearbeitet)
Java:
package facharbeit;

public class Berechnung {
	static double k;
	static double streifen;
	static double teilflaechen;
	static double streifenx;
	static double streifeny;
	static double flaeche;
	static String integral;
	public Berechnung(Nummerisch nummerisch) {
		k = 0.1;

	}

	public static void integralberechnen(Nummerisch nummerisch) {
		double ln;
		double x = Nummerisch.getTextField1Value();
		double y = Nummerisch.getTextField2Value();
		double a = Nummerisch.getTextField3Value();
		double b = Nummerisch.getTextField4Value();
		double c = Nummerisch.getTextField5Value();
		double d = Nummerisch.getTextField6Value();
		double e = Nummerisch.getTextField7Value();
		double f = Nummerisch.getTextField8Value();
		ln = x;

		while (ln < y - k) {
			streifen = a * Math.pow(ln, 5) + b * Math.pow(ln, 4) + c
					* Math.pow(ln, 3) + d * Math.pow(ln, 2) + e * ln + f;
			ln = ln + k;
			teilflaechen = teilflaechen + streifen;
		}
		streifenx = a * Math.pow(x, 5) + b * Math.pow(x, 4) + c
				* Math.pow(x, 3) + d * Math.pow(x, 2) + e * x + f;
		streifeny = a * Math.pow(y, 5) + b * Math.pow(y, 4) + c
				* Math.pow(y, 3) + d * Math.pow(y, 2) + e * y + f;
		flaeche = (streifenx + streifeny) / 2 + teilflaechen;
	}


	public static String getFlaeche(){
		
		return String.valueOf(flaeche);
	}
}
Irgendwie wird flaeche wieder auf 0.0 gesetzt.
Hoffe ihr könnt mir helfen.

Freundliche Grüße
Malzbier
 
Ich halte auch viel von statischen Hilfsmethoden aber das "kann" man auch schicker lösen 😉

Garnichts im Sinne von ?

null ?

0.0 ?

Kommt er erst garnicht so weit ?
 
Zuletzt bearbeitet:
also wenn ich einen breakpoint bei 38 setzte steht fläche zwar noch bei 0.0, aber wenn ich zum bsp. was sinnloses wie x=x dahinter schreibe und da den breakpoint setzt bekomme ich etwas für flaeche heraus.
Es gibt also ein Ergebnis, nur wird dieses anscheinend nicht benutzt. Der Compiler mecker ja auch nicht.
Ich weiß dass es nicht sauber programmiert ist, aber es muss nur funktionieren, da mein Mathelehrer sowieso keine Ahnung von Informatik hat.🙂
 
/ 2 da würde ich / 2d schreiben...

2 ist int und das ergebnis durch int ist wieder int... leider...
 
Zuletzt bearbeitet:
Gib mal etwas ein, was du richtig per Hand (oder mit dem Taschenrechner) lösen kannst und dann lass dir sämtliche Schritte und seien sie noch so nebensächlich per Sysout bestätigen oder du gehst den Code mal mit dem Debugger zeilenweise ab und lässt dir die Belegung der Variablen anzeigen. Das hilft meistens gewaltig.
 
was gibt der debugger beim aufruf von

Java:
 return String.valueOf(flaeche);

aus ?

ggf. returnt er den wert mit
Code:
","
und es wird ein
Code:
"."
erwartet was dann auch zu keiner anzeige und einer exception führen würde.

solch kleinigkeiten hatte ich schon öfter mal.... und ich hab wochen dannach gesucht warum es nicht geht 😉

[EDIT]sry für den Doppelpost , mein Browser spackt grad ab 😉[/EDIT]
 
Zuletzt bearbeitet:
So hab jetzt mal nachgesehen. Also ich vermute, das er das flaeche welches ausgerechnet wird nicht erkennt und somit immer beim standart wert bleib, wenn ich nämlich dem Attribut einen anderen Wert zuweise, wird dieser angezeigt und ändert sich auch nicht. Nur wie komme ich an das richtiege flaeche?
 
wenn du deine ganzen variable mal durch feste werte ersetzt, was passiert dann, gibt er dir ein ergebnis aus ?

falls JA:

Umfasse deinen Code mal mit einem Try/Catch block und lass dir den stacktrace ausgeben, diesen dann bitte hier posten.

falls NEIN:

debugg mal bitte an den relevanten stellen deiner Berechnung und lade ein Foto der Wertbelegung hoch

[EDIT]
Ich vermute stark das entweder irgendwo falsch geparst wird, bzw. fehlerhaft, oder das beim auslesen der Textfelder eine Exception geworfen wird, was du allerdings nicht mitbekommst da du keinen try/catch block verwendest, demnach verfahre mal nach den oben stehenden Tipps und dann sehen wir weiter

[/EDIT]
 
Zuletzt bearbeitet:

Zurück
Oben