《计算的窗口——Java第十周》

来源:互联网 发布:2017年网络灰色收入 编辑:程序博客网 时间:2024/05/17 15:59

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:    《计算的窗口——Java第十周》                         
* 作    者:       刘江波                      
* 完成日期:    2012     年  11     月    2    日
* 版 本 号:    v2.0     

* 对任务及求解方法的描述部分
* 问题描述: 

编写一个JFrame,标题为“计算的窗口”,在该窗口中组件的布局是FlowLayout。窗口中添加两个文本区,当我们在一个文本区中输入若干个数时,另一个文本区同时对输入的数进行求和运算并求出平均值,也就是说随着输入的变化,另一个文本区不断地更新求和及平均值。(必做)
* 程序头部的注释结束
*/

package com.java101;import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.JFrame;public class Test102 extends JFrame implements TextListener,ActionListener{TextArea text1,text2;Button buttonClear;Test102(){this.setTitle("计算数的和与平均值");setLayout(new FlowLayout());//该窗口中组件的布局是FlowLayouttext1 = new TextArea(6,15);text2 = new TextArea(6,20);buttonClear = new Button("清空");add(text1);add(text2);add(buttonClear);text1.setEditable(true);text2.setEditable(false);text1.addTextListener(this);buttonClear.addActionListener(this);setBounds(450,200,360,170);setVisible(true);validate();}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-1; i++){String temp = fenxi.nextToken();a[i] = temp;}double b[] = new double[n];double sum = 0 ,ave;for(int i = 0; i <= n-1; i++){b[i] = Double.valueOf(a[i]);sum = sum + b[i];}ave = sum/n;text2.setText(null);    text2.append("和为:" + sum + "\n");    text2.append("平均值为:" + ave + "\n");}public void actionPerformed(ActionEvent e) {text2.setText(null);}}


原创粉丝点击