恒茂国际新城:高手给我传个JAVA编写的系统,代码要注释过的

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 23:05:41
高手给我传个JAVA编写的系统,代码要注释过的
要一个二元一次方程求根器

好了,你看看,简单了点
import java.awt.*;
import java.awt.event.*;

/**
* <p>Title: 二次方程类</p>
*
* <p>Description: 求二次方程的根</p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: TheOne.Ltd</p>
*
* @author vic
* @version 1.0
*/
public class EquationGUI extends Frame implements ActionListener {
private Label La, Lb, Lc; //系数a,b,常数c
private TextField Ta, Tb, Tc; //系数a,b,常数c输入栏
private Button B;
private TextArea T; //结果显示栏
public EquationGUI() {
setSize(600, 250);
WindowDestroyer Listener = new WindowDestroyer();
addWindowListener(Listener);
setTitle("求 解 二 次 方 程");
setLayout(new BorderLayout());
Panel lPanel = new Panel();
lPanel.setBackground(Color.gray);
lPanel.setLayout(new FlowLayout());
La = new Label("二次项系数");
La.setBackground(Color.pink);
lPanel.add(La);
Ta = new TextField("", 4);
lPanel.add(Ta);
Lb = new Label("一次项系数");
Lb.setBackground(Color.pink);
lPanel.add(Lb);
Tb = new TextField("", 4);
lPanel.add(Tb);
Lc = new Label("常数项");
Lc.setBackground(Color.pink);
lPanel.add(Lc);
Tc = new TextField("", 4);
lPanel.add(Tc);
B = new Button(" 求 解! ");
B.setBackground(Color.red);
B.addActionListener(this);//添加按钮监听器
lPanel.add(B);
add(lPanel, BorderLayout.NORTH);
Panel tPanel = new Panel(new FlowLayout());
tPanel.setBackground(Color.yellow);
T = new TextArea();
T.setEditable(false);// 只读
tPanel.add(T);
add(tPanel, BorderLayout.SOUTH);
setVisible(true);
}
public static void main(String[] args) {
new EquationGUI();
}
public void actionPerformed(ActionEvent e) {
String s = e.getActionCommand();
if (s.equals(" 求 解! ")) {
double a = stringToDouble(Ta.getText());
double b = stringToDouble(Tb.getText());
double c = stringToDouble(Tc.getText());
equation(a, b, c);
}
}

private double stringToDouble(String s) {//字符串转换成Double
return Double.parseDouble(s.trim());
}

private void equation(double a, double b, double c) { //求解方程的根
double D = b * b - 4 * a * c; //D是判别式
if (D > 0) {
double x1 = (Math.pow(D, 0.5) - b) / (2 * a);
double x2 = -(Math.pow(D, 0.5) + b) / (2 * a);
T.setText("方程的两个根为:" + "\n" + "根x1=" + x1 + "\n根x2=" + x2);
} else if (D < 0) {
T.setText("方程判别式小于0"+"\n方程无解");
} else {
double x = -(Math.pow(D, 0.5) + b) / (2 * a);
T.setText("方程只有一个根为\n" + "x=" + x);
}
}

//关闭窗口监听类
public class WindowDestroyer extends WindowAdapter { //WindowAdapter是窗口适配器
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
}

说清楚