频道栏目
首页 > 资讯 > Java > 正文

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

12-11-07        来源:[db:作者]  
收藏   我要投稿

 [java] 
/* 
* 程序头部注释开始   
* 程序的版权和版本声明部分   
* 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");   
 
 
    } 

运行结果:

 

相关TAG标签
上一篇:Sqlserver上传导入文本文件和后续处理的存储过程
下一篇:ORACLE EXECUTE IMMEDIATE小结
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站