【Java】编写一个小应用程序计算输入数字的和、平均值
2018-03-26 21:56
337 查看
说明:这是武汉理工大学计算机学院Java语言程序设计课程的第二次实验。
Java语言程序设计--实验2:文本框、文本区和布局的设计
实验目的:
通过编写一个Java GUI应用程序,熟悉Java GUI应用程序的结构和开发过程;掌握面向对象程序设计中的“封装和继承”的基本原理,“类、对象和接口”的基本概念、以及“Java的事件处理机制”、“图形用户界面设计”技术。实验内容:
问题描述:
自己构思,编写一个具有如下布局的小应用程序,要求当在上面的文本区中输入若干数时,下面的文本框同时对输入的数进行求和运算并求出平均数。即随着输入的变化,文本框不断更新求和及平均值。基本要求:
进一步熟悉小应用程序的结构和开发过程;掌握数组的创建和使用方法;掌握文本框和文本区的使用方法;掌握接口的使用方法,掌握基本组件的事件处理机制;掌握java.awt包的布局类使用方法。实验代码:
package test2; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.JTextField; import javax.swing.JLabel; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.util.StringTokenizer; import javax.swing.JTextPane; public class test2 extends JFrame { private JPanel contentPane; private JTextPane numberField; private JTextField sumField; private JTextField aveField; public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { test2 frame = new test2(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } public test2() { super("第二次实验"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 395, 271); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); numberField = new JTextPane(); numberField.addKeyListener(new KeyAdapter() { @Override public void keyTyped(KeyEvent e) { double sum = 0,avg = 0; switch(e.getKeyChar()) { case KeyEvent.VK_SPACE: //分隔符为空格 case KeyEvent.VK_COMMA: //分隔符为英文逗号 case KeyEvent.VK_ENTER: //分隔符为回车 String str=numberField.getText(); StringTokenizer analyze = new StringTokenizer(str," ,\n"); int allnum=analyze.countTokens(); for(int i =0;i<allnum;i++) { String temp = analyze.nextToken(); //字符串分割解析工具 sum = sum+Double.parseDouble(temp); } if(allnum>0) { avg = sum/allnum; }else { avg = 0; } sumField.setText(Double.toString(sum)); aveField.setText(Double.toString(avg)); } } }); numberField.setBounds(14, 13, 349, 101); contentPane.add(numberField); JLabel label = new JLabel("和 值"); label.setBounds(57, 140, 72, 18); contentPane.add(label); JLabel label_1 = new JLabel("平均值"); label_1.setBounds(57, 182, 72, 18); contentPane.add(label_1); sumField = new JTextField(); sumField.setBounds(130, 137, 233, 24); contentPane.add(sumField); sumField.setColumns(10); aveField = new JTextField(); aveField.setBounds(130, 179, 233, 24); contentPane.add(aveField); aveField.setColumns(10); } }
运行结果:
相关文章推荐
- 编写一个Java应用程序。用户从键盘输入一个1—9999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都
- 编写一个Java应用程序。用户从键盘输入一个1—9999之间的数,程序将判断这个数是几位数, 并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同, 例如12121、3
- 2. 编写一个Java应用程序,用户从键盘输入一个1~9999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、32
- 编写一个java应用程序,用户从输入对话框输入两个日期,程
- 笔试题——编写java程序:输入一个字符串,判断有几个英文字母,有几个数字,有几个其它的字符
- Java输入一个数字跟次数进行拼接方法(可计算结果),输出2+22+222+2222.........
- 编写一个函数fan(int m),计算任一输入的整数的各位数字之和。
- 编写shell脚本,要求输入一个数字,然后计算出从1到输入数字的和,要求,如果输入的数字小于1,则重新输入,直到输入正确的数字为止;
- 编写一个程序,最多将10个donation值读入到一个double数组中。程序遇到非数字输入时将结束输入,并报告这些数字的平均值以及数组中有多少个数字大于平均值。
- 通过编写递归函数,编写c程序从键盘中输入一个数字和计算符号,算出该数字的和或者是积
- 今天开始学Java 给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。
- 编写一个程序 输入整数 直到输入0 计算偶数的个数 奇数的个数 和偶数的平均值 与奇数的平均值
- 1、 编写一个Java应用程序,对用户输入的任意一组字符如{1,3,4,7,2,1,1,5,2},输出其中出现次数最多且数值最大的字符,并显示其出现次数。
- 【Java编程】编写一个计算N个整数平均值的程序
- 5、 有500个小朋友拉成一个圆圈,从其中一个小朋友开始依次编号1-500,从1号小朋友开始循环1-3报数,数到3的小朋友就退出。编写一个Java应用程序,计算出最后一个小朋友的号码是多少?
- 编写一个JAVA应用程序,用户从键盘只能输入整数,程序输出这些整数的乘积
- 1.编写一个简单的C语言程序:计算输入多个整数的平均值,并将此程序分割成多个小文件。 2.为第1题中的程序编写makefile文件,用make编译后改成返回最小值,再编译,观察有多少文件不需要重新
- 猜数字游戏。编写一个Java应用程序,实现功能:
- JAVA--编写一个JFrame,标题为“计算的窗口”,在该窗口中组件的布局是FlowLayout。窗口中添加两个文本区,当我们在一个文本区中输入若干个数时,另一个文本区同时对输入的数进行求和运算并求
- 1.编写一个简单的C语言程序:计算输入多个整数的平均值,并将此程序分割成多个小文件。 2.为第1题中的程序编写makefile文件,用make编译后改成返回最小值,再编译,观察有多少文件不需要重新