做业5.2 TDD
package runok;
import java.util.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class vv extends JFrame implements ActionListener{
/**
* 作者:范铭祥
* 功能:一个简单的小学生四则运算 自动 生成系统
*/
JPanel jp1,jp2,jp3;
JLabel jlb1,jlb2;
JButton jb1;
JTextField jtf1,jtf2;
JTextArea ee;
public double w1;
public double m1;
String fh;
public static void main(String[] args)
{
vv start=new vv();
}
public vv()
{
jp1=new JPanel();
jp2=new JPanel();
jp3=new JPanel();
jlb1=new JLabel("题目");
jlb2=new JLabel("你的答案:");
jb1=new JButton("判断答案");
jb1.addActionListener(this);
jb1.setActionCommand("aa");
JTextArea txtArea = new JTextArea(1,15);
jtf2=new JTextField(20);
ee = new JTextArea(1,10);
//设置布局管理
this.setLayout(new GridLayout(3,1));
//加入各个组件
jp1.add(jlb1);
jp1.add(txtArea);
jp2.add(jlb2);
jp2.add(jtf2);
jp3.add(jb1);
jp3.add(ee);
//加入到JFrame
this.add(jp1);
this.add(jp2);
this.add(jp3);
//在这里用yy方法来获取题目 w 符号 m
yy tt=new yy();
w1=tt.ret1();
m1=tt.ret2();
fh=tt.ret3();
txtArea.append(w1+fh+m1);
this.setSize(400, 250);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public void yes()
{ ee.append("正确!"); }
public void no()
{ee.append("错误!");}
public void cc()
{
int answer=(int) (Double.parseDouble(jtf2.getText()));;
if(fh.equals("+"))
{
if(answer==w1+m1){
yes();
}else{
no();
}
}
if(fh.equals("-"))
{
if(answer==w1-m1){
yes();
}else{
no();
}
}
if(fh.equals("*"))
{
if(answer==w1*m1){
yes();
}else{
no();
}
}
if(fh.equals("/"))
{
if(answer==w1/m1){
yes();
}else{
no();
}
}
}
@Override
public void actionPerformed(ActionEvent e)
{
// !!!!
if(e.getActionCommand()=="aa")
{
cc();
}
}
}
class yy
{
private int max=4;
private int min=1;
private double w2,m2;
private String ff;
Random random = new Random();
//System.out.println(s);
public yy()
{
int s = random.nextInt(max)%(max-min+1) + min;
double x=random.nextInt(max-2)%(max-2-min+1) + min;
double y=random.nextInt(max-1)%(max-1-min+1) + min;
int y1up=(int) Math.pow(10,x);
int y1dn=(int) Math.pow(10,x-1);
int y2up=(int) Math.pow(10,y);
int y2dn=(int) Math.pow(10,y-1);
int x_y1=random.nextInt(y1up)%(y1up-y1dn+1) + y1dn;
int x_y2=random.nextInt(y2up)%(y2up-y2dn+1) + y2dn;
double w=(double)x_y1;
double m=(double)x_y2;
this.w2=w;
this.m2=m;
switch(s)
{
case 1:
{
this.ff="+";
System.out.println(w+"+"+m+"=" );
break;
}
case 2:
{
this.ff="-";
System.out.println(w+"-"+m+"=" );
break;
}
case 3:
{
this.ff="*";
System.out.println(w+"*"+m+"=" );
break;
}
case 4:
{
this.ff="/";
System.out.println(w+"/"+m+"=" );
break;
}
}
}
public double ret1()
{
return w2;
}
public double ret2()
{
return m2;
}
public String ret3()
{
return ff;
}
}
其中在我的小学生系统中这就是我的TDD
class yy
{
private int max=4;
private int min=1;
private double w2,m2;
private String ff;
Random random = new Random();
//System.out.println(s);
public yy()
{
int s = random.nextInt(max)%(max-min+1) + min;
double x=random.nextInt(max-2)%(max-2-min+1) + min;
double y=random.nextInt(max-1)%(max-1-min+1) + min;
int y1up=(int) Math.pow(10,x);
int y1dn=(int) Math.pow(10,x-1);
int y2up=(int) Math.pow(10,y);
int y2dn=(int) Math.pow(10,y-1);
int x_y1=random.nextInt(y1up)%(y1up-y1dn+1) + y1dn;
int x_y2=random.nextInt(y2up)%(y2up-y2dn+1) + y2dn;
double w=(double)x_y1;
double m=(double)x_y2;
this.w2=w;
this.m2=m;
switch(s)
{
case 1:
{
this.ff="+";
System.out.println(w+"+"+m+"=" );
break;
}
case 2:
{
this.ff="-";
System.out.println(w+"-"+m+"=" );
break;
}
case 3:
{
this.ff="*";
System.out.println(w+"*"+m+"=" );
break;
}
case 4:
{
this.ff="/";
System.out.println(w+"/"+m+"=" );
break;
}
}
}
public double ret1()
{
return w2;
}
public double ret2()
{
return m2;
}
public String ret3()
{
return ff;
}
}
只要在主程序中运用到这个类就可以得到 两个数和一个算术运算符
队友 黄国柱 http://www.cnblogs.com/zzhuzi/
做业5.2 TDD的更多相关文章
- 测试计划驱动开发模式 TPDD:一种比 TDD 更友好的开发模式
相信大部分开发团队都在使用TDD,并且还有很多开发团队都 对外声明 在使用 TDD 开发模式. 之所以说是“对外声明”,是因为很多开发团队虽然号称使用的是 TDD 开发模式,实际开发过程中却无法满足 ...
- 四种软件开发模式:tdd、bdd、atdd和ddd的概念
看一些文章会看到TDD开发模式,搜索后发现有主流四种软件开发模式,这里对它们的概念做下笔记. TDD:测试驱动开发(Test-Driven Development) 测试驱动开发是敏捷开发中的一项核心 ...
- quartz配置文件详解
quartz配置文件详解(转载) quartz学习总结: 一.关于job: 用Quartz的行话讲,作业是一个执行任务的简单Java类.任务可以是任何Java代码.只需你实现org.qu ...
- 使用node.js进行API自动化回归测试
概述 传统的QA自动化测试通常是基于GUI的,比如使用Selenium,模拟用户在界面上操作.但GUI测试的开发.维护成本和运行的稳定性一直是测试界的老大难问题.投入大量的人力物力开发.维护.运行,却 ...
- node js 调试方法
1. node-debug tutorial 大家对nodejs调试应该都比较头疼,至少我这个不用IDE写js的人很头疼这个,其实node的生态圈非常好 有非常好的工具和非常潮的开发方式 这里总结了3 ...
- Python小课题练习作业
作业一: 利用*字典*输出目录,可以选择目录进入,可以回退.退出! #conding:utf8 menu = {'北京':{'昌平':{'沙河':{'昌平妇幼',}},'海淀':{'海淀一区':{'海 ...
- Python 在Visual studio 中做单元测试进行TDD开发
Unit Tests Steve Dower edited this page on 14 Jul · 3 revisions Pages 38 Home Azure Remote Debugging ...
- TDD在Unity3D游戏项目开发中的实践
0x00 前言 关于TDD测试驱动开发的文章已经有很多了,但是在游戏开发尤其是使用Unity3D开发游戏时,却听不到特别多关于TDD的声音.那么本文就来简单聊一聊TDD如何在U3D项目中使用以及如何使 ...
- 初步认识TDD
TDD,测试驱动开发(Test Driven Development)是极限编程中倡导的程序开发方法,以其倡导先写测试程序,然后编码实现其功能得名.本文将对TDD有一个较为系统的认识. 基础属性 ...
随机推荐
- 一、git创建版本库及提交
第一步:从Git官网直接 下载安装程序 ,并自行配置环境变量. git config --global user.name "Your Name" // 设置用户名 git ...
- RMAN 备份数据库到DISK后进行数据恢复
RMAN 备份数据库到DISK,然后进行数据恢复 一.rman备份 1. 全备脚本 vi bakup_level0.sql connect target / run { allocate channe ...
- 关于ip判断
php正则实现ip段判断 $ip = '22.18.10.2'; $arrayip = array('123.12.*.*','22.18.10.*');//ip段 $ipregexp = implo ...
- Linux命令——磁盘管理
Linux命令--磁盘管理 命令df 作用:查看已挂载磁盘的总容量.使用容量.剩余容量等 参数:-i,查看inodes的使用状况 参数:-h,使用合适的单位显示(推荐) 命令du 作用:查看某个目录或 ...
- bip39
BIP: 39 (助记词) Layer: Applications Title: Mnemonic code for generating deterministic keys Author: Mar ...
- Node.js实战(四)之调试Node.js
当项目逐渐扩大以后,功能越来越多,这时有的时候需要增加或者修改,同时优化某些功能,就有可能出问题了.针对于线上Linux环境我们应该如何调试项目呢? 别怕,Node.js已经为我们考虑到了. 通过 n ...
- greys java在线诊断工具
greys是一个开源的github项目,用来分析运行中的java类.方法等信息. greys工具地址: https://github.com/oldmanpushcart/greys-anatomy/ ...
- Javascript 及 CSS3 实现进度条效果
Javascript 及 CSS3 实现进度条效果 一:css2 属性clip实现网页进度条: 在实现之前,我们先来介绍一下clip属性,因为这个属性在css2.1中很少使用到,所以我们有必要来了解 ...
- Docker学习3-CentOS安装Docker
CentOS安装:Docker-ce ( Docker Community Edition ) 第一步:$ sudo yum install -y yum-utils device-mapper-pe ...
- Android 使用正则表达式验证身份证号是否符合规则
我国当前的身份证号分为三种: 一.15位身份证号 二.18位身份证号(前17位位数字,最后一位为字母x) 三.18为身份证号(18位都是数字) 具体验证请参考下面代码: /** * 验证身份证号是否符 ...