Hier der aktuelle Code:
[code=Java]import java.awt.*;
import java.awt.event.*;
import javax.swing.JOptionPane;
import javax.swing.*;
import javax.swing.event.*;
public class quadraticquationssolver extends Frame {
// Anfang Attribute
private Label label1 = new Label();
private NumberField nf_a = new NumberField();
private Label label2 = new Label();
private NumberField nf_b = new NumberField();
private Label label3 = new Label();
private NumberField nf_c = new NumberField();
private Button btn_calc = new Button();
private Label label4 = new Label();
private Label label5 = new Label();
private Label label6 = new Label();
private NumberField nf_D = new NumberField();
private NumberField nf_x1 = new NumberField();
private NumberField nf_x2 = new NumberField();
private Button btn_close = new Button();
private Button btn_clear = new Button();
private TextArea ta_nachricht = new TextArea("", 1, 1, TextArea.SCROLLBARS_BOTH);
private Label label7 = new Label();
private Label lb_title = new Label();
private Label label8 = new Label();
private Label lb_function = new Label();
// Ende Attribute
public quadraticquationssolver(String title) {
// Frame-Initialisierung
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) { dispose(); }
});
int frameWidth = 272;
int frameHeight = 543;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
setResizable(false);
Panel cp = new Panel(null);
add(cp);
// Anfang Komponenten
label1.setBounds(40, 64, 110, 20);
label1.setText("Koeffizient ' a ' :");
label1.setFont(new Font("Times New Roman", Font.BOLD, 12));
cp.add(label1);
nf_a.setBounds(152, 64, 75, 20);
nf_a.setText("");
cp.add(nf_a);
label2.setBounds(40, 96, 110, 20);
label2.setText("Koeffizient ' b ' :");
label2.setFont(new Font("Times New Roman", Font.BOLD, 12));
cp.add(label2);
nf_b.setBounds(152, 96, 75, 20);
nf_b.setText("");
cp.add(nf_b);
label3.setBounds(40, 136, 110, 20);
label3.setText("Koeffizient ' c ' :");
label3.setFont(new Font("Times New Roman", Font.BOLD, 12));
cp.add(label3);
nf_c.setBounds(152, 136, 75, 20);
nf_c.setText("");
cp.add(nf_c);
btn_calc.setBounds(40, 216, 187, 41);
btn_calc.setLabel("X-Werte ermitteln");
btn_calc.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
btn_calc_ActionPerformed(evt);
}
});
cp.add(btn_calc);
label4.setBounds(112, 312, 30, 20);
label4.setText("x1 :");
label4.setFont(new Font("Times New Roman", Font.BOLD, 12));
cp.add(label4);
label5.setBounds(112, 344, 30, 20);
label5.setText("x2 :");
label5.setFont(new Font("Times New Roman", Font.BOLD, 12));
cp.add(label5);
label6.setBounds(34, 280, 101, 20);
label6.setText("Diskriminante D :");
label6.setFont(new Font("Times New Roman", Font.BOLD, 12));
cp.add(label6);
nf_D.setBounds(144, 280, 75, 20);
nf_D.setText("");
nf_D.setEditable(false);
cp.add(nf_D);
nf_x1.setBounds(144, 312, 75, 20);
nf_x1.setText("");
nf_x1.setEditable(false);
cp.add(nf_x1);
nf_x2.setBounds(144, 344, 75, 20);
nf_x2.setText("");
nf_x2.setEditable(false);
cp.add(nf_x2);
btn_close.setBounds(165, 488, 91, 25);
btn_close.setLabel("Close");
btn_close.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
btn_close_ActionPerformed(evt);
}
});
cp.add(btn_close);
btn_clear.setBounds(8, 488, 91, 25);
btn_clear.setLabel("Clear");
btn_clear.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
btn_clear_ActionPerformed(evt);
}
});
cp.add(btn_clear);
ta_nachricht.setBounds(8, 400, 248, 84);
ta_nachricht.setEditable(false);
cp.add(ta_nachricht);
label7.setBounds(8, 376, 60, 20);
label7.setText("Nachricht:");
label7.setFont(new Font("Times New Roman", Font.BOLD, 12));
cp.add(label7);
setTitle("Quadratic Equations Solver");
lb_title.setBounds(32, 16, 211, 27);
lb_title.setText("Quadratic Equations Solver");
lb_title.setFont(new Font("Times New Roman", Font.BOLD, 16));
cp.add(lb_title);
label8.setBounds(8, 176, 110, 20);
label8.setText("Ausgangsfunktion:");
label8.setFont(new Font("Times New Roman", Font.BOLD, 12));
cp.add(label8);
lb_function.setBounds(136, 176, 110, 20);
lb_function.setText("-");
cp.add(lb_function);
// Ende Komponenten
setVisible(true);
} // end of public quadraticquationssolver
// Anfang Methoden
public void btn_calc_ActionPerformed(ActionEvent evt)
{
double a,b,c,x1,x2,D;
a = nf_a.getDouble();
b = nf_b.getDouble();
c = nf_c.getDouble();
double temp_a, temp_b, temp_c;
try
{
temp_a = nf_a.getDouble();
temp_b = nf_b.getDouble();
temp_c = nf_c.getDouble();
}
catch( Exception ex )
{
ex.printStackTrace();
}
if ( (nf_a.getDouble() != null) && (nf_b.getDouble() != null) && (nf_c.getDouble() != null) )
{
lb_function.setText(a+" x² * "+b+" x * "+c);
if (a != 0)
{
D = b*b - 4*a*c;
nf_D.setDouble(D);
if (D < 0)
{
ta_nachricht.setText("Die Quadratwurzel der Lösungsformel\nim Körper "+
"der reellen Zahlen ist \nnicht definiert. "+
"Es existiert also keine\nreelle Lösung!");
}
else if (D == 0)
{
x1 = -b/(2*a);
nf_x1.setDouble(x1);
nf_x2.setDouble(x1);
ta_nachricht.setText("Rechnung Erfolgreich!\nDie Gleichung besitzt eine\nDoppellösung!");
}
else
{
x1 = (-b+Math.sqrt(D))/(2*a) ;
x2 = (-b-Math.sqrt(D))/(2*a) ;
nf_x1.setDouble(x1);
nf_x2.setDouble(x2);
ta_nachricht.setText("Rechnung Erfolgreich!\nDie Gleichung besitzt zwei Lösungen!");
}
}
else
{
nf_a.clear();
ta_nachricht.setText("Achtung! - Eingabe überprüfen!\nDer Koeffzient von a muss ungleich\nnull sein!");
}
}
else
{
ta_nachricht.setText("Achtung! - Eingabe überprüfen!\nFelder dürfen nicht leer sein!");
}
}
public void btn_close_ActionPerformed(ActionEvent evt) {
System.exit(-1);
} // end of btn_close_ActionPerformed
public void btn_clear_ActionPerformed(ActionEvent evt) {
nf_a.clear();
nf_b.clear();
nf_c.clear();
nf_D.clear();
nf_x1.clear();
nf_x2.clear();
ta_nachricht.setText("");
lb_function.setText("-");
} // end of btn_clear_ActionPerformed
// Ende Methoden
public static void main(String[] args) {
new quadraticquationssolver("quadraticquationssolver");
} // end of main
} // end of class quadraticquationssolver
[/code]
Als Fehlermeldungen kommen diese:
[CODE]Compiliere "C:\Dokumente und Einstellungen\Torsten\Desktop\Praktikant\quadraticequationssolver_new\quadraticquationssolver.java" mit Java-Compiler
quadraticquationssolver.java:184:28: error: incomparable types: double and <null>
if ( (nf_a.getDouble() != null) && (nf_b.getDouble() != null) && (nf_c.getDouble() != null) )
^
quadraticquationssolver.java:184:58: error: incomparable types: double and <null>
if ( (nf_a.getDouble() != null) && (nf_b.getDouble() != null) && (nf_c.getDouble() != null) )
^
quadraticquationssolver.java:184:88: error: incomparable types: double and <null>
if ( (nf_a.getDouble() != null) && (nf_b.getDouble() != null) && (nf_c.getDouble() != null) )
^
3 errors
[/CODE]