测试与封装5.2

package sz;
import java.util.*;
import java.applet.*;         //引入Applet类
import java.awt.*;
import java.awt.event.*;      //引入系统事件类包。
public class V11 extends Applet implements ActionListener{//定义类的同时实现动作事件监听接口。
    Label label1,label2,label3,label4;   //声明四个标签对象。
    TextField tf1;                   //声明一个文本框对象
    TextArea area;                  //声明一个文本区域对象
    Button bt1,bt2;                 //声明两个按钮对象
    double lb2=0.0;
    int s=0;
    int a=0;
    int b=0;
    int y=0;
    int z=0;
//s保存总题数;a保存答对的题数;b保存答错的题数。

public void init(){    //初始化。
    label1=new Label();     //创建一个没有显示内容的对象。
    label2=new Label();
    label3=new Label();
    label4=new Label("="); //创建一个显示内容为“=”的对象。
    tf1=new TextField(8);
    area=new TextArea(13,40);//创建一个13行40列的文本区。
    bt1=new Button("计分");  //创建一个显示标题为“计分”的按钮。
    bt2=new Button("重来");
    add(label1);
    add(label2);
    add(label3);
    add(label4);
    add(tf1);
    add(area);
    add(bt1);
    add(bt2);
    this.setSize(400, 150);
    //利用顺序布局,增加各组件。
    tf1.addActionListener(this);
    bt1.addActionListener(this);
    bt2.addActionListener(this);       //将this注册为ft1、bt1、bt2的单击事件兼听器。
    label1.setText(String.valueOf((int)(Math.random()*10)));
    label3.setText(String.valueOf((int)(Math.random()*10)));//随机产生两个10以内的整数并分别显示在标签1、3上。
    lb2=(Math.random());   //随机产生一个0~1以内的小数。
    if (lb2>=0 && lb2<=0.25)
        label2.setText("+");
    else if (lb2>0.25 && lb2<=0.5)
        label2.setText("-");
    else if (lb2>0.5 && lb2<=0.75)
        label2.setText("*");
    else if (lb2>0.75 && lb2<=1)
        label2.setText("/");  }
    //if 语句用于控制随机显示“+、-、*、/”四个运算符。

 public void actionPerformed(ActionEvent e){  //实现事件接口方法。
     if (e.getSource()==tf1){  //判断事件源是tf1还是bt1或bt2。
     s=s+1;     //一触发tf1总题数就加1.
     if (label2.getText()=="+"){
         int  x=Integer.parseInt(label1.getText())+Integer.parseInt(label3.getText());
//字符转换成数值。
     if (x==Integer.parseInt(tf1.getText()))
         a=a+1;  //如果文本框输入的正确,则答对的数目加一。
     else
         b=b+1;  //如果文本框输入的错误,则答错的数目加一。
     }
     else if (label2.getText()=="-"){
         int x=Integer.parseInt(label1.getText())-Integer.parseInt(label3.getText());
         if (x==Integer.parseInt(tf1.getText()))
             a=a+1;
         else
             b=b+1;
         }
     else if (label2.getText()=="*"){
         int x=Integer.parseInt(label1.getText())*Integer.parseInt(label3.getText());
         if (x==Integer.parseInt(tf1.getText()))
             a=a+1;
         else
             b=b+1;
         }

     else if (label2.getText()=="/"){
         y=Integer.parseInt(label1.getText());
         z=Integer.parseInt(label3.getText());
                do{
                    label3.setText(String.valueOf((int)(Math.random()*10)));
                    z=Integer.parseInt(label3.getText());  }
                while (z==0);      //用循环保证被除数不为0。
                double  x=Double.parseDouble(label1.getText())/Integer.parseInt(label3.getText());
                if (Math.round(x)==(Integer.parseInt(tf1.getText())))//保证两数相除,四舍五入再取整。
                    a=a+1;
                else
                    b=b+1;
                }
     label1.setText(String.valueOf((int)(Math.random()*10)));
     label3.setText(String.valueOf((int)(Math.random()*10)));
     lb2=Math.random();
     if (lb2>=0 && lb2<=0.25)
         label2.setText("+");
     else if (lb2>0.25 && lb2<=0.5)
         label2.setText("-");
     else if (lb2>0.5 && lb2<=0.75)
         label2.setText("*");
     else if (lb2>0.75 && lb2<=1)
         label2.setText("/");
     tf1.setText("");
     }
     else if(e.getSource()==bt1){      //bt1按钮单击事件。
         area.setText("");        //清空文本区。 area.append("*********************************************"+"\n");
         area.append("     一共答了:"+s+"道题。"+"\n");
         area.append("     恭喜你!答对了:"+a+"道题,答错了:"+b+" 道题。"+"\n");                                     area.append("_____________________________________________"+"\n");
         area.append("     你当前的成绩为:"+((a*100)/s));//在文本区添加文本。
         }
     else if (e.getSource()==bt2){      //bt2按钮单击事件。
         area.setText("");
         label1.setText(String.valueOf((int)(Math.random()*10)));
         label3.setText(String.valueOf((int)(Math.random()*10)));
         lb2=Math.random();
         if (lb2>=0 && lb2<=0.25)
             label2.setText("+");
         else if (lb2>0.25 && lb2<=0.5)
             label2.setText("-");
         else if (lb2>0.5 && lb2<=0.75)
             label2.setText("*");
         else if (lb2>0.75 && lb2<=1)
             label2.setText("/");
         tf1.setText("");
         }
     }
 }

黄伟俊  http://www.cnblogs.com/hwj23/
刘恒 http://home.cnblogs.com/u/iliuh/
时间: 2024-10-20 07:30:25

测试与封装5.2的相关文章

测试与封装5.1

我的队友是52吴舒婷,博客内容主要是白盒黑盒的测试数据分析 我们通过简单的四则运算来进行程序的测试与封装 我们主要完成的是事情 (1)封装:将运算要运用的方法进行封装 文件主要有三个:Calculate(存放运算要用得到方法).CalcuTest(主要main方法).Test(测试) Calculate中主要的方法:Cal()运算.input()输入.judge判断() 代码如下:CalcuTest(主要main方法) package Test.src.src; import java.util

【作业报告】作业5 四则运算 测试与封装 5.1

测试与封装 5.1 程序开发简介: [开发环境]:eclipse [开发人员]:Ives & 郑胜斌 [博客地址]:38郑胜斌 [开发时间]:2015-04-30 [版本]:5.1 [要求]: 封装 测试 封装: 概念 封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口.面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治.封装的对象,这些对象通过一个受保护的接口访问其他对象.封装是一种信息隐藏技术,在java中通过关键字private实现封装.什么是封装?封装把对象的所

作业5 四则运算 测试与封装 5.2

作业5 四则运算 测试与封装  5.2 开发环境:   Eclipse 开发人员:   欧其锋(201306114305) 余汉城(201306114317)(http://www.cnblogs.com/yuhancheng/) 分工:   欧其锋:异常处理 余汉城:重构 源代码: 1 package GongNengpk; 2 3 import GongNengpkTest.ChuShuLingException; 4 import GongNengpkTest.JCException; 5

selenium之多线程启动grid分布式测试框架封装(四)

九.工具类,启动所有远程服务的浏览器 在utils包中创建java类:LaunchAllRemoteBrowsers package com.lingfeng.utils; import java.net.MalformedURLException; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set;

selenium之多线程启动grid分布式测试框架封装(一)

一.设计思路 在国内市场上,IE内核的浏览器占据了绝大部分的市场份额,那么此次框架封装将进行IE系列的浏览器进行多线程并发执行分布式测试的封装. 运行时主进程与多线程关系如下: 运行线程通俗的说就是我们用来跑用例的线程,其中<监控线程1>用来监控<运行线程1>的运行状态. 二.前期准备 1.创建一个java工程. 2.导入selenium.dom4j.log4j相关jar包 可到网上自行寻找jar包,也可到我云盘中下载,地址: selenium jar 以及源码jar :http:

四则运算,测试与封装。

测试与封装 5.1 程序开发简介: [开发环境]:eclipse [开发人员]:Ives & 郑胜斌 [博客地址]:http://www.cnblogs.com/IvesHe/ [开发时间]:2015-04-30 [版本]:5.1 [要求]: 封装 测试 [分工]: Ives:单元测试.界面.自定义异常. 郑胜斌:封装 Expression类. 封装: 概念 封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口.面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治.封装的对

适用于带fifo接口的存储器和显示器测试模块封装 挑战cb

cb说完美是没有极限的,对此我表示赞同,自从用了cb的板子,玩开cmos,fpga,sdram,vga等. 不断涌现的是,双端口sdram,四端口sdram,各式各样的封装,但是大同小异,但总是有些不同,对于初学的我,感觉还是挺费事,玩转各种例程发现,cb的sdram驱动程序很强大但并不完美,其中对sdram有挑选作用,如hy57v641620ftp-7很ok的使用,换成hy57v641620ftp-6就有问题,但是使用其他版本程序测试,这两个ic均ok. 这个问题一度困扰过cb良久,最终cb偶

小学生四则运算程序的简单测试与封装

程序原型:之前写的小学生四运算程序 实验环境:java语言 封装代码如下: 1 package SuanFa; 2 3 public class Core { 4 public double jia(double a,double b) 5 { 6 double c=a+b; 7 return c; 8 } 9 public double jian(double a,double b) 10 { 11 double c=a-b; 12 return c; 13 } 14 public doubl

5.2 测试与封装

//源代码 package avshabi; import java.util.StringTokenizer; public class Calculator { int numerator; // 分子 int denominator; // 分母 Calculator(){ } Calculator(int a,int b){ if(a == 0){ numerator = 0; denominator = 1; } else{ setNumeratorAndDenominator(a,b

5.2测试与封装

//源代码 package avshabi; import java.util.StringTokenizer; public class Calculator { int numerator; // 分子 int denominator; // 分母 Calculator(){ } Calculator(int a,int b){ if(a == 0){ numerator = 0; denominator = 1; } else{ setNumeratorAndDenominator(a,b