java上机 第十一周 任务1 算术测试小软件
来源:互联网 发布:企业资质软件下载 编辑:程序博客网 时间:2024/04/30 12:31
/* * 程序头部注释开始 * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:算术测试小软件 * 作 者:薛广晨 * 完成日期:2012 年 11 月 07 日 * 版 本号:x1.0 * 对任务及求解方法的描述部分 * 输入描述: * 问题描述:编写 一个Teacher类负责给出算术题目,* 随机给出两个整数并进行运算,并判断回答者的答案是否正确;* 编写一个GUI类ComputerFrame,回答者可以通过GUI看到题目并给出答案;* 编写一个程序执行入口运行该软件* 程序输出: * 程序头部的注释结束 */package xue;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class ComputerFrame extends JFrame implements ActionListener{int flag, x, y;JButton btn1,btn2; JTextField tf1,tf2,tf3; JLabel labe1,labe2,labe3; Teacher teacher; ComputerFrame(){teacher = new Teacher();setLayout(new FlowLayout()); setTitle("ComputerFrame");btn1 = new JButton("获取题目");btn2 = new JButton("确认答案");tf1 = new JTextField(10);tf2 = new JTextField(10);tf3 = new JTextField(10);labe1 = new JLabel("+");labe2 = new JLabel("=");labe3 = new JLabel("你还没有回答呢");add(btn1);add(tf1);add(labe1);add(tf2);add(labe2);add(tf3);add(btn2);add(labe3);tf1.setEditable(false);tf2.setEditable(false);btn1.addActionListener(this);btn2.addActionListener(this);setBounds(100, 100, 500, 120); setVisible(true); validate(); }public void actionPerformed(ActionEvent e) {if(e.getSource() == btn1){while(true){teacher.getQuestion();x = teacher.getX();y = teacher.getY();flag = teacher.getflag();labe3.setText("你还没有回答呢");tf3.setText(null);if(y != 0 && flag != 4)break;}switch(flag) { case 1:labe1.setText("+");break; case 2:labe1.setText("-");break; case 3:labe1.setText("*");break; case 4:labe1.setText("/");break; } tf1.setText(x + "");tf2.setText(y + "");}else if(e.getSource() == btn2){if(tf3.getText().equals(""))labe3.setText("请输入答案");else{double s = 0;int c = 0;try{c = Integer.parseInt(tf3.getText());switch(flag) { case 1:s = x + y;break; case 2:s = x - y;break; case 3:s = x * y;break; case 4:s = x / y;break; } if(c == s){labe3.setText("回答正确");}else{labe3.setText("回答错误");}}catch(NumberFormatException event){labe3.setText("请输入数字");//JOptionPane.showMessageDialog(null, "格式不正确", "提示信息",JOptionPane.DEFAULT_OPTION );}}}}}//Teacher类package xue;public class Teacher {private int x;private int y;private int flag;public int getX() {return x;}public int getY() {return y;}public int getflag() {return flag;}public void getQuestion(){x = (int) (Math.random() * 100);y = (int) (Math.random() * 100);flag = (int) (Math.random()*4+1);}}
运行结果:
- java上机 第十一周 任务1 算术测试小软件
- JAVA--第十一周实验--编写一个算术测试小软件
- JAVA--第十一周实验--编写一个算术测试小软件
- 《编写一个算术测试小软件——Java第十一周》
- 第十一周上机任务项目1
- 第十一周上机任务--换分币
- java上机 第十一周 任务2 模拟一个信号灯
- 算术测试小软件
- 1-10000的回文数(第十一周上机任务)
- 百钱买百鸡(第十一周上机任务)
- 第十一周上机任务2-百钱百鸡问题
- 第十一周上机任务(百钱百鸡)
- 第十一周上机任务4-大奖赛评分
- 第十一周上机任务(判断素数)
- 第十一周上机任务(换分币)
- 第十一周上机任务项目2
- 第十一周上机任务项目3
- 第十一周上机任务项目4
- 动态规划解决问题的一般思路
- 高仿优酷Android客户端图片左右滑动(自动切换)
- 关于request和response的使用
- 指向函数的指针
- android----面试基础概括总结
- java上机 第十一周 任务1 算术测试小软件
- Project Euler 20
- 2011Android技术面试整理附有详细答案(包括百度、新浪、中科软等多家公司笔试面试题)
- 心理咨询师
- 有没有人人给机会
- javascript事件
- SCCM 的 Branch distribution point 的使用
- zoj1045-HandOver
- 机顶盒输入输出接口