Eingabefeld erzeugen

G

Gast

Hallo,
ich bin ein Anfänger unter Java.
Ich habe ein Programm geschrieben, womit ich per Eingabe von a,b und c die x1,2 Werte berechenen kann. (Mitternachtsformel)
Nur ist das leider so das ich a b und c nur im Editor verändern kann,
jedoch will ich das so haben das wie in VBA ein Fenster aufgeht, wo man a b und c eingeben kann und das Ergebnis auch in einem Fenster gezeigt wird.

Wonach müsste ich da suchen bzw kann mir einer eine Seite zeigen wo das genauer steht.

Hier mein Code

public class Mitternachtsformel{
public static void main (String args[]) {
double da1 = 1;
double db2 = 4;
double dc3 = 2;
double Diskriminante;

Diskriminante = (db2*db2) - (4*da1*dc3);
System.out.println("Die Summe der Diskriminante beträgt "+Diskriminante);

double dx1,dx2;
if (Diskriminante >= 0) {
dx1 = (-db2 + Math.sqrt (Diskriminante)) / (2*da1);
dx2 = (-db2 - Math.sqrt (Diskriminante)) / (2*da1);
if (dx1 == dx2) {
System.out.println ("Das Ergebnis ist L={"+dx1+"}");
}
else {
System.out.println ("Das Ergebnis ist L={"+dx1+";"+dx2+"}");
}
}
else {
System.out.println ("Keine Lösung, da die Diskriminante negativ ist!");
}
}
}
 
Java code kannst du am besten mit Code Tags posten
[.JAVA] hier dein code[./java]
OHNE DIE PUNKTE
Dann ist es besser zu lesen.

Variablennamen werden in Java klein geschrieben :D

Wenn du es direkt in der Console eingeben moechtest, da du dort ja auch momentan deine Ausgabe hast, findest du hier etwas:
http://www.java-tips.org/java-se-tips/java.util/how-to-read-input-from-console.html

Wenn du natuerlich wirlich ein Fenster haben willst, kommst du wohl um Swing net drum rum wie Zeja schon schrieb :D
 
So das ist mein erweiterter Code

Java:
import javax.swing.*;

public class Mitternachtsformel{
	public static void main (String args[]) {
		
		String sa = JOptionPane.showInputDialog("Bitte a eingeben:"); 
	    double da = Double.parseDouble(sa);
	    String sb = JOptionPane.showInputDialog("Bitte b eingeben:");
		double db = Double.parseDouble(sb);
		String sc = JOptionPane.showInputDialog("Bitte c eingeben:");
		double dc = Double.parseDouble(sc);
		
		double diskriminante;
		
		diskriminante = (db*db) - (4*da*dc);

		
		double dx1,dx2;		
		if (diskriminante >= 0) {
			dx1 = (-db + Math.sqrt (diskriminante)) / (2*da);
			dx2 = (-db - Math.sqrt (diskriminante)) / (2*da);
			if (dx1 == dx2) {
				JOptionPane.showMessageDialog(null,"Das Ergebnis ist L={"+dx1+"} und die Summe der Diskriminante beträgt "+diskriminante);
			}
			else {
				JOptionPane.showMessageDialog(null,"Das Ergebnis ist L={"+dx1+";"+dx2+"} und die Summe der Diskriminante beträgt "+diskriminante);
			}
		}
		else {
			JOptionPane.showMessageDialog(null,"Keine Lösung, da die Diskriminante ("+diskriminante+") negativ ist!");
		}
	}
}

Jetzt will ich noch eine Funktion einbauen nämlich wenn der User gar keine Zahl bzw. ein Zeichen eingibt, das eine Fehlermeldung aufkommt und der User darauf hingewiesen wird, eine Zahl eingeben zu sollen.
Habe mir gedacht das evtll. mit einer If Funktion zu verbinden

String sa = JOptionPane.showInputDialog("Bitte a eingeben:");
double da = Double.parseDouble(sa);
IF (eine zahl eingegeben wird)
keine meldung
else
fehlermeldung und aufklappen des vorherigen Fensters


Eine Frage hätt ich noch habe mir das Swing etc. noch nicht ernsthaft gelesen nur großartig überlesen :D
Jedenfalls kann man es mit den Swing + Dialog Funktionen schaffen, dass man alle Werte ( a,b,c) und das Ergebnis im gleichen Fenster ausgegeben wird?

Vielen Dank für die bisherigen Tips :)
Hätte nicht gedacht das ich so schnell Antworten bekomme.

Gruß Gast :D
 
Wenn du alles in einem Fenster willst, muss du wohl oder übel schon ein wenig Swing lernen. Schau mal in das Kapitel aus dem Buch rein. Versuche die Beispiele dort mal bei dir nachzuvollziehen.

Wenn du einen solchen Dialog hast, kannst du dann auch einen Validator benutzen, um zu prüfen ob nur Zahlen eingegeben werden.

Double.parseDouble wirft aber übrigens auch eine NumberFormatException. Die kannst du fangen, dann weißt du, dass es keine gültige Zahl war.
 

Neue Beiträge

Zurück