小学算术运算检测软件.doc_第1页
小学算术运算检测软件.doc_第2页
小学算术运算检测软件.doc_第3页
小学算术运算检测软件.doc_第4页
小学算术运算检测软件.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软 件 学 院课程设计报告书课程名称 面向对象程序课程设计 设计题目 小学算术运算测试软件 专业班级 嵌软112 学 号 1120030220 姓 名 吴晓冬 指导教师 姜文涛 2013 年 6 月目录1 设计时间22 设计目的23 设计题目24设计任务25 设计内容25.1程序设计与分析25.2程序结构35.3程序说明45.4源程序45功能模块实现146运行与测试156.1系统提供开始界面156.2系统提供运算式界面156.3系统提供提交界面166.4系统提供结果界面167总结与展望16参考文献17成绩评定171 设计时间 2013年6月8日-2013年6月14日2 设计目的面向对象程序设计是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高应用能力。3 设计题目小学算术运算检测软件4设计任务设计GUI界面,通过选择不同运算符(如加减法、乘除法)及运算数的范围(如10以内、100以内等)后随机产生指定书目(10道,20道等)的运算式子,测试提交后自动评分,根据不同测试结果给出提示(如“你真棒”,”继续努力”等)。5 设计内容 5.1程序设计与分析按照软件基本功能分为以下四部(1) 设计GUI界面,假想界面: 算术运算检测器 请选择运算法则运算数范围 开始检测图5.1假想界面(2)选择不同运算符(如加减法、乘除法),选择不同运算数的范围(如10以内、100以内等)。通过界面上加、减、乘、除四个按钮和10以内、100以内两个按钮进行选择。(3)随机产生指定数目(10道,20道等)的运算式子(4)测试提交后自动评分根据不同测试结果给出提示(如“你真棒”,”继续努力”等)。开始5.2程序结构提供界面:选择运算法则和运算数范围提供运算式:根据选择条件系统确定运算法则自动调取符合范围的两个数 系统记录每一道题的错对情况进行叠加 输入结果系统进行自行运算提供结果 输入的结果与系统提供结果进行比较 输出检测结果结束图5.1程序结构5.3程序说明(1)、当进入“运算测试程序”界面时,根据计算机随机得出的题目,在输入框中输入运算结果,。(2)、选择“下题”按钮进入下一题。(3)、计算机通过“if”语句判断执行次数是否达到10次,到达指定次数根据不同测试结果给出提示(答对810道输出“你真棒”,答对07道题输出“继续努力”)。(4)、结束。5.4源程序import java.awt.*;import java.awt.event.*;import java.util.*;public class Testpublic Test()Frame f = new Frame(小学算术运算检测);f.setBounds(200, 100, 340, 300);M1 m1 = new M1();f.addWindowListener(m1);f.setLayout(new GridLayout(5, 1);Button b1 = new Button();Button b2 = new Button();Button b3 = new Button();Button b4 = new Button();Button b5 = new Button(10以内);Button b6 = new Button(100以内);Button b7 = new Button(开始检测);Label l1 = new Label(算术运算检测器);Label l2 = new Label(请选择);Label l3 = new Label(运算法则);Label l4 = new Label(运算数范围);Panel p1 = new Panel(null);Panel p2 = new Panel(null);Panel p3 = new Panel(null);Panel p4 = new Panel(null);Panel p5 = new Panel(null);p1.setLayout(new FlowLayout();p2.setLayout(new FlowLayout();p3.setLayout(new GridLayout(1, 5);p4.setLayout(new GridLayout(1, 3);p5.setLayout(new GridLayout(1, 1);p1.add(l1);p2.add(l2);p3.add(l3);p3.add(b1);p3.add(b2);p3.add(b3);p3.add(b4);p4.add(l4);p4.add(b5);p4.add(b6);p5.add(b7);f.add(p1);f.add(p2);f.add(p3);f.add(p4);f.add(p5);M2 m2 = new M2();M3 m3 = new M3();M4 m4 = new M4();M5 m5 = new M5();M6 m6 = new M6();M7 m7 = new M7();M0 m8 = new M0();b1.addActionListener(m2);b2.addActionListener(m3);b3.addActionListener(m4);b4.addActionListener(m5);b5.addActionListener(m6);b6.addActionListener(m7);b7.addActionListener(m8);f.setVisible(true);public static void main(String args)Test a = new Test();class M1 implements WindowListenerpublic void windowActivated(WindowEvent e) public void windowClosed(WindowEvent e) public void windowClosing(WindowEvent e)System.exit(-1);public void windowDeactivated(WindowEvent e) public void windowDeiconified(WindowEvent e) public void windowIconified(WindowEvent e) public void windowOpened(WindowEvent e) static String s = null; static int num = 1; static int sum = 0; static int score = 0; static int j = 0; static int x1 = 0; static int x2 = 0;class M2 implements ActionListenerpublic void actionPerformed(ActionEvent e)s =+;class M3 implements ActionListenerpublic void actionPerformed(ActionEvent e)s =-;class M4 implements ActionListenerpublic void actionPerformed(ActionEvent e)s =*;class M5 implements ActionListenerpublic void actionPerformed(ActionEvent e)s =/;class M6 implements ActionListenerpublic void actionPerformed(ActionEvent e)j =10;class M7 implements ActionListenerpublic void actionPerformed(ActionEvent e)j =100;class M0 implements ActionListenerpublic void actionPerformed(ActionEvent e)if (num = 10)Frame f = new Frame(小学算术运算检测);f.setBounds(200, 100, 340, 100);f.setLayout(new GridLayout(2, 1);M1 m1 = new M1();f.addWindowListener(m1);f.setVisible(true);TextField c = new TextField( 3);M8 m9 = new M8(c);c.addActionListener(m9);Panel p = new Panel(null);p.setLayout(new GridLayout(1, 2);Random rand = new Random();if (j = 100) x1 =rand.nextInt(100); x2 =rand.nextInt(100); if (j = 10) x1 = rand.nextInt(10); x2 = rand.nextInt(10); Label l5 = new Label();if (s = +) sum = x1 + x2; l5.setText( + x1 + + + x2 + = ); if (s = -) sum = x1 - x2; l5.setText( + x1 + - + x2 + = ); if (s = *) sum = x1 * x2; l5.setText( + x1 + * + x2 + = ); if (s = /) sum = x1 / x2; l5.setText( + x1 + / + x2 + = ); p.add(l5);p.add(c);f.add(p);Button b = new Button(提交);b.addActionListener(new M9(); f.add(b);if (num != 10)Frame f = new Frame(小学算术运算检测);f.setBounds(200, 100, 340, 100);f.setLayout(new GridLayout(2, 2);M1 m1 = new M1();f.addWindowListener(m1);f.setVisible(true);TextField c = new TextField(请输入结果, 8);M8 m9 = new M8(c);c.addActionListener(m9);Panel p = new Panel(null);p.setLayout(new GridLayout(1, 2);Random rand = new Random();if (j = 100) x1 = rand.nextInt(100); x2 = rand.nextInt(100);if (j = 10) x1 = rand.nextInt(10); x2 = rand.nextInt(10);Label l5 = new Label();if (s = +) sum = x1 + x2; l5.setText( + x1 + + + x2 + = ); if (s = -) sum = x1 - x2; l5.setText( + x1 + - + x2 + = ); if (s = *) sum = x1 * x2; l5.setText( + x1 + * + x2 + = ); if (s = /) sum = x1 / x2; l5.setText( + x1 + / + x2 + = ); p.add(l5);p.add(c);f.add(p);num+;Button b = new Button(下一题);Button b0 = new Button(提交);f.add(b0);f.add(b);b.addActionListener(new M0();b0.addActionListener(new M8(c);class M8 implements ActionListenerTextField c;M8(TextField c)this.c=c;public void actionPerformed(ActionEvent e) int t = Integer.parseInt(c.getText(); if (t = sum)score += 10;class M9 implements ActionListenerpublic void actionPerformed(ActionEvent e)Frame f = new Frame(小学算术运算检测);f.setBounds(200, 100, 340, 100);f.setLayout(new FlowLayout();M1 m1 = new M1();f.addWindowListener(m1);Label b = null;if (score = 80) b = new Label(你的成绩是 + score + 你真棒!);else b = new Label(你的成绩是 + score + 继续努力哦!);f.add(b);f.setVisible(true);5功能模块实现import java.awt.*;import java.awt.event.*;import java.until.*包中包含Random类,调用nextInt()方法产生符合要求的随机数public class TestTest类中包含主函数main();class M1 implements WindowListenerM1类是Test类的内部类,实现窗口的关闭的监听机制。class M2 implements ActionListenerM2、M3、M4、M5、M6、M7类是Test类的内部类,实现按钮的监听机制。class M9 implements ActionListenerM8、M9类是Test类的内部类,实现文本框对应按钮的监听机制并弹出下一界面。class M0 implements ActionListenerM0类是Test类的内部类,用于实现条件的判断和输入答案与系统结果的比较。6运行与测试6.1系统提供开始界面 图6.1开始界面图6.1是系统提供的开始界面,在开始界面中我们可以选择运算法则和运算数范围,通过按钮上的事件监听器发送到系统中,作为下一个选数操作的条件,点击开始检测则自动跳到下一界面。6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论