实验二

1、此程序是在Eclipce环境下调试的。

2、增加了“2345”四个功能

3、结对同伴为黄国柱-201306114432,其博客地址为

http://www.cnblogs.com/zzhuzi/

4、在这次结对编程中,我是驾驶员,编写程序,实现四个拓展功能。测试程序,以及最后代码的完善和提交。同伴是领航员,做了程序类的设计,界面的设计,帮助我解决具体的技术问题。我们不断轮换角色,互相合作,最终完成项目。

5总结

在这次结对编程中,我和同伴估计实现所需的时间为8天,结果与预期大致相同。其中,结对编程用了6天。有句话叫做“不怕神一样的对手,就怕猪一样的队友”

,我觉得我有一个好队友,我与我的队友相互协调,相互合作。在结对编程中,我是驾驶员,编写程序,实现四个拓展功能。测试程序,以及最后代码的完善和提交。同伴是领航员,做了程序类的设计,界面的设计,帮助我解决具体的技术问题。我们不断轮换角色,互相合作,最终完成项目。

在编程过程中,我们遇到了许多问题,比如功能不能实现,程序不能运行。我们两人讨论一下,冷静解决。如果还是出问题,我们就在网上和书上查找原因,直到问题解决为止。两人在一起合作,自然会出现不同意见,因为每个人都有自己的想法。因此,在合作过程中,我们相互尊重,相互理解。这次结对编程,我和同伴相互学习,相互磨合,最终完成了项目。这使我更加懂得队友的重要性,不能忽视团队精神。这是一次很好的结对编程经历,长见识了很多。路漫漫其修远兮,吾将上下而求索。

6、照片实验二_第1张图片

import javax.swing.*;

import java.awt.*; //导入必要的包
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Scanner;

public class Jiemian {
    public static void main(String[] args) {
        Aframe a = new Aframe();
    }
}

class Aframe extends JFrame {

    JTextField jTextField;// 定义文本框组件
    JPasswordField jPasswordField;// 定义密码框组件
    JLabel jLabel1, jLabel2;
    JPanel jp1, jp2, jp3;

    public Aframe() {
        JButton jbu1, jbu2;
        jTextField = new JTextField(13);
        jPasswordField = new JPasswordField(13);
        jLabel1 = new JLabel("账号");
        jLabel2 = new JLabel("密码");
        jbu1 = new JButton("确认");
        jbu2 = new JButton("取消");

        jbu1.addActionListener(new Jbu1Handle());
        jbu2.addActionListener(new Jbu2Handle());
        jp1 = new JPanel();
        jp2 = new JPanel();
        jp3 = new JPanel();

        // 设置布局
        this.setLayout(new GridLayout(3, 1));

        jp1.add(jLabel1);
        jp1.add(jTextField);// 第一块面板添加用户名和文本框

        jp2.add(jLabel2);
        jp2.add(jPasswordField);// 第二块面板添加密码和密码输入框

        jp3.add(jbu1);
        jp3.add(jbu2); // 第三块面板添加确认和取消

        // jp3.setLayout(new FlowLayout());
        //   //因为JPanel默认布局方式为FlowLayout,所以可以注销这段代码.
        this.add(jp1);
        this.add(jp2);
        this.add(jp3); // 将三块面板添加到登陆框上面(容器上)

        // 设置显示
        this.setSize(300, 200);

        this.pack();
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
        this.setTitle("登陆");

    }
}

class Jbu1Handle implements ActionListener {
    public void actionPerformed(ActionEvent e) {

        int a, b, c, d;
        int systemanswer = 0;
        int useranswer = 0;
        int rightnumber = 0;
        char op = 0;
        String login;
        System.out.println("欢迎使用自动生成小学四则运算程序");
        System.out.println("请输入用户名:");
        Scanner ss = new Scanner(System.in);
        login = ss.nextLine();
        System.out.println("请选择出题的数量(<=5)");
        Scanner sc = new Scanner(System.in);
        d = sc.nextInt();
        if (d > 5 || d <= 0)
            System.exit(0);
        for (int i = 1; i <= d; i++) {
            a = 1 + (int) (Math.random() * 100);
            b = 1 + (int) (Math.random() * 100);
            c = 1 + (int) (Math.random() * d);
            switch (c) {
            case 1:
                op = '+';
                systemanswer = a + b;
                break;
            case 2:
                op = '-';
                systemanswer = a - b;
                break;
            case 3:
                op = '*';
                systemanswer = a * (-b);
                break;
            case 4:
                op = '/';
                systemanswer = a / b;
                break;
            case 5:
                op = '!';
                systemanswer = jiecheng(a);
                break;
            default:
                System.exit(0);
            }
            if (c == 5) {
                System.out.printf("%d%c=?\n", a, op);
            } else if (c == 3) {
                System.out.printf("%d%c(%d)=?\n", a, op, -b);

            } else {
                System.out.printf("%d%c%d=?\n", a, op, b);
            }
            System.out.print("结果为:");
            Scanner in = new Scanner(System.in);
            useranswer = in.nextInt();
            if (useranswer == systemanswer) {
                System.out.printf("right!\n");
                rightnumber++;
            } else {
                System.out.printf("wrong!\n");
            }

        }
        System.out.println("答对" + rightnumber + "" + ",答错" + (d - rightnumber)
                + "");
    }

    public static int jiecheng(int a) {
        int result = 1;
        for (int i = 1; i <= a; i++) {
            if (a < 0)
                System.exit(0);
            else {
                result *= i;
            }
        }
        return result;

    }

}

class Jbu2Handle implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        System.exit(0);
    }
}实验二_第2张图片实验二_第3张图片

 

你可能感兴趣的:(实验二)