题目要求:编写一个应用程序,一个标题为“计算”的窗口,布局方式为FLowLayou,设计四个按钮,分别命名为“加”,“减”,“乘”,“除”,另外窗口还有三个文本框,单击相应的按钮,将两个文本框的数字做运算,结果在第三个文本框显示结果,要求要处理NumberFormatException异常。
实验源代码:
package KeTangLianXi_第九章_课后习题3_1;
import javax.swing.;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.Document;
import javax.swing.text.Element;
import java.awt.;
public class Test {
public static void main(String[] args) {
new MyWindowscalc();
}
}
class MyWindowscalc extends JFrame implements DocumentListener {
JTextArea jTextArea, jTextArea1;
double sum, average;
int cout = 1;
public MyWindowscalc() {
jTextArea = new JTextArea(6, 30);
jTextArea1 = new JTextArea(6, 30);
setLayout(new FlowLayout());
add(new JScrollPane(jTextArea));
add(new JScrollPane(jTextArea1));
jTextArea1.setEditable(false);
(jTextArea.getDocument()).addDocumentListener(this);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setBounds(300, 200, 200, 200);
}
@Override
public void insertUpdate(DocumentEvent e) {
changedUpdate(e);
}
@Override
public void removeUpdate(DocumentEvent e) {
changedUpdate(e);
}
@Override
public void changedUpdate(DocumentEvent e) {
String string = jTextArea.getText();
String array[] = string.split("[^0123456789.]+");
sum = 0;
average = 0;
for (int i = 0; i < array.length; i++) {
sum += Double.parseDouble(array[i]);
}
average = sum / (array.length);
jTextArea1.append("和为" + sum);
System.out.println();
jTextArea1.append("平均数为" + average);
}
}
代码仅供参考,欢迎大家的批评和指正,谢谢。