Java
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Quadratgleichungen implements ActionListener {
JFrame win = new JFrame("Quatratische Gleichungen");
JTextField input = new JTextField("Geben sie die Werte a, b, c und d jeweils mit einem Leerzeichen getrennt ein...");
JButton button = new JButton("=");
JLabel output = new JLabel("ax²+bx+c = d");
public double a = 0, b = 0, c = 0;
public Quadratgleichungen() {
win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
win.setSize(1000, 75);
input.setBounds(10, 10, 550, 25);
win.setLayout(null);
win.setLocationRelativeTo(null);
win.setResizable(false);
button.setBounds(570, 10, 75, 25);
button.addActionListener(this);
output.setBounds(655, 10, 335, 25);
win.add(input);
win.add(button);
win.add(output);
win.setVisible(true);
}
public static void main(String [] args){
new Quadratgleichungen();
}
public void actionPerformed(ActionEvent e){
String [] eingabe = input.getText().split(" ");
if(eingabe.length != 4){
output.setText("Keine gültige Eingabe!");
}
try{
a = Integer.parseInt(eingabe[0]);
System.out.println("a="+a);
b = Integer.parseInt(eingabe[1]);
System.out.println("b="+b);
c = Integer.parseInt(eingabe[2]);
System.out.println("c="+c);
}catch(NumberFormatException ex){
output.setText("Ungültige Eingabe!!!");
}
if(a == 0){
output.setText("Wenn a=0 ist, ist diese Funktion nicht quadratisch!");
}
if(Wurzelterm() < 0){
output.setText("Es gibt keine Nullstellen!");
}if(Wurzelterm() == 0){
pqFormeladd();
output.setText("x = " + String.valueOf(pqFormeladd()));
}if(Wurzelterm() > 0){
pqFormeladd();
pqFormelsub();
output.setText("x1 = " + String.valueOf(pqFormeladd()) + " , x2 = " + String.valueOf(pqFormelsub()));
}
}
public double Wurzelterm(){
final double w = ((b /a)/2)*((b/a)/2) -c/a;
return w;
}
public double pqFormeladd(){
final double pq1 = ((-b /a) /2) + java.lang.Math.sqrt(Wurzelterm());
return pq1;
}
public double pqFormelsub(){
final double pq2 = ((-b /a) /2) - java.lang.Math.sqrt(Wurzelterm());
return pq2;
}
}
Alles anzeigen
Fertig! Ich weiß nicht, was du mit d wolltest, du hast doch nur 3 Variablen
Was ich gemacht habe: d entfernt, a b und c in doubles umgewandelt und den hoch 2 Term ausgeschrieben, da er den Operator nicht nehmen wollte. Klappt nun auf jeden Fall, auch mit doubles als Eingabe.