java上机 第十周 任务2 计算的窗口

来源:互联网 发布:英语伴读软件 编辑:程序博客网 时间:2024/05/14 16:05
/* * 程序头部注释开始   * 程序的版权和版本声明部分   * Copyright (c) 2011, 烟台大学计算机学院学生   * All rights reserved.   * 文件名称:计算的窗口                      * 作    者:薛广晨                               * 完成日期:2012  年 11 月  05  日   * 版 本号:x1.0               * 对任务及求解方法的描述部分   * 输入描述:  * 问题描述: 编写一个JFrame,标题为“计算的窗口”,在该窗口中组件的布局是FlowLayout。窗口中添加两个文本区,当我们在一个文本区中输入若干个数时,                           另一个文本区同时对输入的数进行求和运算并求出平均值,也就是说随着输入的变化,另一个文本区不断地更新求和及平均值* 程序输出:   * 程序头部的注释结束 */package xue;import java.awt.event.*;import java.text.DecimalFormat;import java.util.*;import java.awt.*;import javax.swing.JFrame;public class MyJFrame extends JFrame implements TextListener, ActionListener{TextArea text1;    TextArea text2;    Button buttonClear;MyJFrame(){ setLayout(new FlowLayout());   setTitle("计算的窗口");   setSize(4000,4000);   setVisible(true);   text1 = new TextArea(6,15);   text2 = new TextArea(6,15); buttonClear = new Button("清空");  add(text1);   add(text2);   add(buttonClear);  text2.setEditable(false); text1.addTextListener(this); buttonClear.addActionListener(this); setBounds(100, 100, 350, 160);   setVisible(true);   validate();  }public void actionPerformed(ActionEvent e) {text1.setText(null);}public void textValueChanged(TextEvent e) {String s = text1.getText();StringTokenizer fenxi = new StringTokenizer(s, ",'\n'");int n = fenxi.countTokens();String a[] = new String[n];for(int i = 0; i < n; i++){String temp = fenxi.nextToken();a[i] = temp;}double addResult = 0;  double aveResult = 0;  for(int i = 0; i < n; i++)  {  addResult +=  Double.valueOf(a[i]);  }            if(n != 0)  {  aveResult = addResult / n;  } text2.setText(null);text2.append(n + "个数相加的和:   " + addResult + "\n");  DecimalFormat d = new DecimalFormat("#.000");   text2.append("平均值:  " + d.format(aveResult) + "\n");  }}


运行结果:

原创粉丝点击