结对编程5.1

import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.Random;
import java.awt.Font;
public class calculator {
    private JFrame frame;
    private JTextField []textField= new JTextField[5];
    JLabel []label = new JLabel[5];
   int []r1=new int[5];
    int []r2=new int[5];
    String str3="";
    int Sum;
    int n=1;
    int[]sum=new int[5];
    String []r3=new String[5];
    String []str=new String[5];

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    calculator window = new calculator();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public calculator() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JFrame();
        frame.setTitle("\u5C0F\u5B66\u56DB\u5219\u8FD0\u7B97");
        frame.setBounds(100, 100, 450, 362);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(null);

         label[0] = new JLabel();
         label[0].setFont(new Font("宋体", Font.PLAIN, 27));
        label[0].setBounds(10, 50, 99, 29);
        frame.getContentPane().add(label[0]);

        label[1] = new JLabel();
        label[1].setFont(new Font("宋体", Font.PLAIN, 27));
        label[1].setBounds(10, 89, 99, 29);
        frame.getContentPane().add(label[1]);

        label[2] = new JLabel();
        label[2].setFont(new Font("宋体", Font.PLAIN, 27));
        label[2].setBounds(10, 128, 99, 29);
        frame.getContentPane().add(label[2]);

        label[3] = new JLabel();
        label[3].setFont(new Font("宋体", Font.PLAIN, 27));
        label[3].setBounds(10, 167, 99, 29);
        frame.getContentPane().add(label[3]);

        label[4] = new JLabel();
        label[4].setFont(new Font("宋体", Font.PLAIN, 27));
        label[4].setBounds(10, 206, 99, 29);
        frame.getContentPane().add(label[4]);

        textField[0] = new JTextField();
        textField[0].setFont(new Font("宋体", Font.PLAIN, 27));
        textField[0].setBounds(128, 50, 66, 29);
        frame.getContentPane().add(textField[0]);
        textField[0].setColumns(10);

        textField[1] = new JTextField();
        textField[1].setFont(new Font("宋体", Font.PLAIN, 27));
        textField[1].setColumns(10);
        textField[1].setBounds(128, 93, 66, 29);
        frame.getContentPane().add(textField[1]);

        textField[2] = new JTextField();
        textField[2].setFont(new Font("宋体", Font.PLAIN, 27));
        textField[2].setColumns(10);
        textField[2].setBounds(128, 132, 66, 29);
        frame.getContentPane().add(textField[2]);

        textField[3] = new JTextField();
        textField[3].setFont(new Font("宋体", Font.PLAIN, 27));
        textField[3].setColumns(10);
        textField[3].setBounds(128, 171, 66, 29);
        frame.getContentPane().add(textField[3]);

        textField[4] = new JTextField();
        textField[4].setFont(new Font("宋体", Font.PLAIN, 27));
        textField[4].setColumns(10);
        textField[4].setBounds(128, 210, 66, 29);
        frame.getContentPane().add(textField[4]);

        JButton button = new JButton("\u51FA\u9898");
        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Stamp st=new Stamp();
                sum=st.output(r1, r2, r3);//我想测一测
                                                        //将初始化的数组r1和r2的{1.2.3.4.5}传入
                                                        //我的output方法里
                                                        //得出的结果会不会是:和传入的值一样
                for(int i=0;i<5;i++)
                {
                    textField[i].setText(null);
                    Sum=0;
                    if(!r3[i].equals("!"))
                        label[i].setText(r1[i]+r3[i]+r2[i]+"=");
                    else//if(r3[i].equals("!"))
                    {
                        label[i].setText(r2[i]+r3[i]+"=");}
                    }        

            }
        });
        button.setBounds(16, 273, 93, 23);
        frame.getContentPane().add(button);
    //    while(){

        JButton button_1 = new JButton("\u786E\u5B9A");
        button_1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                int q=1;int []a=new int[5];int l=0;
                for(int i=0;i<5;i++)
                {a[i]=-1;
                 str[i]=textField[i].getText();
                 char[] ch=str[i].toCharArray();
                 for(int j=str[i].length()-1;j>-1;j--)
                 {
                     if(ch[j]<‘0‘||ch[j]>‘9‘){

                        a[l]=i;
                        l++;
                        q=0;
                        break;
                     }
                 }

                }if(a[1]!=-1){
                    JOptionPane w=new JOptionPane();
                    w.showMessageDialog(w,"输入有非法字符!", "温馨提示", 0);
                    for(int i=0;i<l;i++){
                    textField[a[i]].setText(null);
                    }
                }
                if(q==1){
                Calc Ca=new Calc();
                int k=Ca.cc(r1, r2, r3, sum, str);
                str3="答对"+k/20+"题"+"\n"+"共得"+k+"分";
                JOptionPane sm=new JOptionPane();
                sm.showMessageDialog(sm, str3, "温馨提示", 1);
                Jf w=new Jf();
                n=w.Jfw();
            }}
        });
        //frame.dispose();
        button_1.setBounds(130, 273, 93, 23);
        frame.getContentPane().add(button_1);

    }
        public void close(){
            frame.dispose();
        }

}

public class Calc {
    public int cc(int r1[], int r2[], String r3[],int sum[],String str[]){
        //Stamp st=new Stamp();
        //st.output(r1, r2, r3,sum);
        int fenshu=0;
        for(int i=0;i<5;i++)
        {int n=Integer.valueOf(str[i]);
        System.out.println(str[i]+"  "+sum[i]);
            if(n==sum[i])
            {
                fenshu+=20;
            }
            //System.out.println(sum[i]);
        }
        System.out.print(fenshu);
        return fenshu;
    }

}

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Jf extends JFrame{
    JButton b1 = new JButton("是");
    JButton b2 = new JButton("否");
    JLabel label = new JLabel("是否继续:(退出点击关闭)");
    int k=1;
    int n=1;
    public  int Jfw(){
        this.setTitle("select");
        this.setResizable(false);
        this.setBounds(500, 350, 300, 100);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
        FlowLayout flow=new FlowLayout();
        this.getContentPane().setLayout(flow);
        add(label);
        add(b1);//add(b2);
        b1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                n=1;
                close();
            }
        });
    /*    b2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                n=0;
                close();
            }
        });*/
        return n;
    }
    public void close(){
        this.dispose();
    }

}

import java.util.Random;
public class Stamp {
    static Random r = new Random();
    int y;
    int []sum=new int[5];
    public int[] output(int r1[],int r2[],String r3[]){

         for(int i=0;i<5;i++){
             sum[i]=0;
             r1[i] = r.nextInt(100);
             r2[i] = r.nextInt(100);
             y = 42+r.nextInt(6);
             while(y==46)
                {
                 y = 42+r.nextInt(6);
                }
                if(y==44)
                {
                    r2[i] = 2+r.nextInt(8);
                }
                switch(y)
                {
                case 42:
                    r3[i]="*";
                    sum[i]=r1[i]*r2[i];
                    System.out.print(sum[i]+"="+r1[i]+"*"+r2[i]);
                    break;
                case 43:
                    r3[i]="+";
                    sum[i]=r1[i]+r2[i];
                    System.out.println(sum[i]+"="+r1[i]+"+"+r2[i]);
                    break;
                case 44:
                    r3[i]="!";
                    sum[i]=1;
                    for(int n=r2[i];n>1;n--)
                    {
                    sum[i]=sum[i]*n;
                    }
                    System.out.println(sum[i]+"="+r1[i]+"+"+r2[i]);
                    break;
                case 45:
                    r3[i]="-";
                    sum[i]=r1[i]-r2[i];
                    System.out.println(sum[i]+"="+r1[i]+"-"+r2[i]);
                    break;
                case 47:
                    r3[i]="/";
                    sum[i]=r1[i]/r2[i];
                    System.out.println(sum[i]+"="+r1[i]+"/"+r2[i]);
                    break;
                }

         }
                 return sum;
    }
}

1.因为要求换组员,上次作业和27号同学一起完成,这次作业与37号施少涛同学一起完成。http://www.cnblogs.com/shishaotao/

2.黑盒测试:点击确定->点击确定->(将非法字符清空)输入->

白盒测试:

3.单元测试:我们以数组的形式,数组先获取随机数存储进去,然后以数组的形式输出。因此,单元测试对数组进行初始化。最终输入的结果与算的结果相符合

这些程序和测试是我和我的小伙伴合力一天完成的结果,有可能有些的地方还是不完善,毕竟是重新做的程序,而不是原来改装的。但大概的功能已实现。我希望老师能够多提点一些,我会在有空多余的时间把它完善。接下来说说我的感受吧,在第一次的结对合作时,就好像与同伴格格不入的样子,但是到了这次结对,我觉得好像有点感觉,有同伴的存在,进度好像快了些,问题的解决也快了。

我的同伴:35何武鹏 http://home.cnblogs.com/u/hewupeng/

时间: 2024-09-29 05:23:49

结对编程5.1的相关文章

结对编程

结对编程(英语:Pair programming)是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作.一个人输入代码,而另一个人审查他输入的每一行代码.输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员).两个程序员经常互换角色. 在结对编程中,观察员同时考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理.这样使得驾驶者可以集中全部注意力在完成当前任务的"战术"方面.观察员当作安全网和指南.结对编程对开发程序有很多好处.比如增加纪律性,写出更好的代码等.

软件工程------结对编程第二次

这一周我(1551426)还是继续和我们组的成员(1551419)两人一起结对编程,除此之外,我们还设计了数据库的,总共三个关系模式 room(roomtype,dailyprice,deposit) roominfo(roomnumber,roomtype,isfree) guest(id, startday,phonenumber,roomnumber,name,sex,stayday) 起初我们把room和guest 放在了一起,后来发现数据的冗余以后马上换成三个关系表. 这是我们的关系图

软工第二次实验——结对编程

1丶小组成员 卫瑞亮 1500802122 王玉卿 1500802099 2.代码链接 https://coding.net/u/qq1062718477/p/SE_task/git/commits/master/ 3.软件界面 4.结对编程照片 5.心得体会 到今天接触结对编程差不多两周了,对于结对编程有了更加深刻地理解,通过结对编程,我们可以及时的发现并解决后面可能会出现的问题,并且还能提升我们与别 人进行交流的能力,与人沟通对我们来说也是极为重要的,同时,结对编程使我们频繁进行交流,而且要

结对编程2——单元测试

 周迪 201421123089    黄睿 201421123069  coding.net 地址:http://git.oschina.net/hr2324/SoftEngHW 1.我们的代码要使它的利用率大大提高,所以我们要通过单元测试进一步完善代码,发现细小的错误.于是这次就用JUnit进行了简单四则运算的单元测试. a.需求分析:(1)在上次的基础上将计算模块单独创建一个类: (2)针对计算类做单元测试: (3)主要做整数和真分数的加减乘除: (4) 增量式开发,用git命令提交到co

结对编程2—— 单元测试

结对伙伴:201421123048,201421123036 coding.net 地址:https://git.coding.net/YJh_/PairProject_2.git a. 需求分析:测试上有哪些详细的需求? 1.把计算模块提取出来,单独创建一个类2.通过单元测试代码,测试加法是否能正确工作3.通过单元测试代码,测试加减乘除功能4.通过单元测试代码,测试计算类对于各种参数的支持 输入是有错误的,例如 "1 ++ 2" 在数值范围是 -1000 .. 1000 的时候,传进

结对编程-感想

这次大作业采用了结对编程的方式进行开发.我和赵宇航在这次结对编程中fix了绑定的bug以及进行了jmeter的配置和性能测试. 首先,我们通过讨论发现代码是正确的,但是绑定时会提示密码错误,我们思考了很久,突然想到,我们之前在"初始微信"功能开发时,将密码进行了base64加密,所以我们在调用的时候,需要用base64解码之后才可以,于是我们成功的解决了这个问题. 接下来,我们进行了jmeter的配置和学习,进行了简单的性能测试. 通过这次结对编程,我们发现结对编程确实有很多好处. 1

结对编程的体会

今天晚上,我与队友赵纯艺进行了一次结对编程,共同完成"微信抢票菜单调整"这个任务.因为在之前的开发中,我主要负责前后端借口,只是和数据库打交道,对与微信有关的接口不是很熟悉,所以在获取当前菜单和设置当前菜单时遇到了一点问题. 刚开始的时候,因为我们对彼此的工作都不是很了解,所以我花了比较长的时间向她说明我这部分的机制是如何运作的,理解了我的困惑后,她表示虽然记不太清楚,但是记得<开发指南>里有相关函数.通过查询文档,我们找到了对应的函数get_wechat_menu()和u

结对编程作业

这是第一次尝试结对编程,在本次结对编程作业中为了更好地体会它的好处和特点,我和我的搭档分别扮演了驾驶员和领航者的角色. 作为驾驶员:在我编程的过程中,出现了一些小问题,比如忘加分号,这些小问题可以及时的发现.有时我也会问我的领航者一些疑问,省去了上网查资料的过程,提高了编程的效率.在代码复审的过程中,有的问题我在自己调试的时候没有发现.比如输入某些数据的时候,离黄金点最近的玩家得0分.还有程序的功能上的一些缺陷,也被进一步完善.编程的时候我们会有一些交流,交流使我们互相更加了解对方的编程风格,在

结对编程体会

两个人思想会有不同的时候,会有讨论争执和妥协的时候,在试用了两种方法后,选择了一个比较好的编写程序,结对编程减少了自己一个人想不到问题浪费的时间,结对编程有利于自己编程能力的提高,也有利于交流思想.

构建之法阅读笔记三—结对编程

构建之法阅读笔记三——结对编程 何谓结对编程,结对编程就是程序员肩并肩,平等的,互补的进行开发工作,他们使用同一台电脑,编写同样的程序,一起分析,一起设计,一块交流想法. 然而我以前却并不是这样做的,我以前喜欢在没人打扰的环境下写代码,我觉得有人在我身边看着,会影响我的思路,还有我个人自尊心比较强,不太喜欢被人指指点点,所以每次都是,我写完代码之后,自己先找自己的bug,每当自己实在找不到之后,才会请教大神,但是有时候可能由于自己的能力不足,往往一个很简单的问题,我自己发现就会花费很久的时间,让