java编写一个应用程序,在窗口输入a、b、c三个数值,实现ax2+bx+c=0的求解,并将最终的求解的结果在窗口显示出来。
时间: 2024-03-15 19:44:42 浏览: 60
用Java编写程序,求一元二次方程ax²+bx+c=0的根(系数在程序中给定),并输出。
好的,以下是一个简单的 Java 应用程序,实现了您所述的功能:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class QuadraticEquationSolver extends JFrame implements ActionListener {
private JTextField aField, bField, cField, resultField;
private JButton solveButton, clearButton;
public QuadraticEquationSolver() {
super("Quadratic Equation Solver");
// 设置窗口大小和位置
setSize(400, 200);
setLocationRelativeTo(null);
// 设置窗口布局为网格布局
setLayout(new GridLayout(4, 2));
// 创建文本框和标签
JLabel aLabel = new JLabel("a:");
aField = new JTextField(10);
JLabel bLabel = new JLabel("b:");
bField = new JTextField(10);
JLabel cLabel = new JLabel("c:");
cField = new JTextField(10);
JLabel resultLabel = new JLabel("Result:");
resultField = new JTextField(10);
resultField.setEditable(false);
// 创建按钮
solveButton = new JButton("Solve");
solveButton.addActionListener(this);
clearButton = new JButton("Clear");
clearButton.addActionListener(this);
// 将组件添加到窗口中
add(aLabel);
add(aField);
add(bLabel);
add(bField);
add(cLabel);
add(cField);
add(resultLabel);
add(resultField);
add(solveButton);
add(clearButton);
// 显示窗口
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == solveButton) {
// 获取输入的数值
double a = Double.parseDouble(aField.getText());
double b = Double.parseDouble(bField.getText());
double c = Double.parseDouble(cField.getText());
// 计算方程的根
double discriminant = b * b - 4 * a * c;
if (discriminant < 0) {
resultField.setText("No real roots");
} else if (discriminant == 0) {
double root = -b / (2 * a);
resultField.setText("x = " + root);
} else {
double root1 = (-b + Math.sqrt(discriminant)) / (2 * a);
double root2 = (-b - Math.sqrt(discriminant)) / (2 * a);
resultField.setText("x1 = " + root1 + ", x2 = " + root2);
}
} else if (e.getSource() == clearButton) {
// 清空输入和输出
aField.setText("");
bField.setText("");
cField.setText("");
resultField.setText("");
}
}
public static void main(String[] args) {
new QuadraticEquationSolver();
}
}
```
您可以将此代码复制到一个名为 `QuadraticEquationSolver.java` 的文件中,并在命令行中编译和运行它。当您运行它时,将显示一个带有文本框、标签和按钮的窗口。输入 `a`、`b` 和 `c` 的值,然后单击“Solve”按钮,程序将计算并在文本框中显示方程的根。如果您想清除输入和输出,可以单击“Clear”按钮。
阅读全文