/* (程序头部注释开始)
* 程序的版权和版本声明部分
* 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());//该窗口中组件的布局是FlowLayout
text1 = 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);
}
}
本文介绍了一个使用Java实现的简单应用程序,该程序能够在用户输入数字时实时计算这些数字的总和与平均值,并显示在两个文本区域内。此外,还提供了一个清空按钮来重置计算结果。
8066

被折叠的 条评论
为什么被折叠?



