作业四: 结对编程项目---四则运算

队友  史劭聪


import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class yunsuan extends JFrame{
    JLabel l1 = new JLabel("答对题数:");

    private JFrame frame = new JFrame("四则运算");
    private Container c = frame.getContentPane();
    private JButton KO = new JButton("确定");
    private JTextField A = new JTextField(6);
    private JTextField AA = new JTextField(4);
    private JTextField AAA = new JTextField(4);
    private JTextField B = new JTextField(6);
    private JTextField BB = new JTextField(4);
    private JTextField BBB = new JTextField(4);
    private JTextField C = new JTextField(6);
    private JTextField CC = new JTextField(4);
    private JTextField CCC = new JTextField(4);
    private JTextField D = new JTextField(6);
    private JTextField DD = new JTextField(4);
    private JTextField DDD = new JTextField(4);
    private JTextField E = new JTextField(6);
    private JTextField EE = new JTextField(4);
    private JTextField EEE = new JTextField(4);
    private JPasswordField password = new JPasswordField();
    private JButton ok = new JButton("确定");
    private JTextField QQ = new JTextField(6);

int num=0;
    int an[]=new int [5];
    String bn[]=new String [5];
    String cn[]=new String [5];
     yunsuan(int a[],String b[])
    {
         an=a;
         bn=b;

        JPanel fieldPanel = new JPanel();

        fieldPanel.add(A);A.setBounds(30, 10, 100, 20);
        A.setVisible(true);
        fieldPanel.add(AA);AA.setBounds(40, 10, 100, 20);
        fieldPanel.add(AAA);AAA.setBounds(50, 10, 100, 20);
        fieldPanel.add(B);B.setBounds(30, 15, 50, 20);
        fieldPanel.add(BB);BB.setBounds(40, 15, 100, 20);
        fieldPanel.add(BBB);BBB.setBounds(50, 10, 100, 20);
        fieldPanel.add(C);C.setBounds(30, 20, 50, 20);
        fieldPanel.add(CC);CC.setBounds(40, 20, 100, 20);
        fieldPanel.add(CCC);CCC.setBounds(50, 10, 100, 20);
        fieldPanel.add(D);D.setBounds(30, 25, 50, 20);
        fieldPanel.add(DD);DD.setBounds(40, 25, 100, 20);
        fieldPanel.add(DDD);DDD.setBounds(50, 10, 100, 20);
        fieldPanel.add(E);E.setBounds(30, 30, 50, 20);
        fieldPanel.add(EE);EE.setBounds(40, 30, 100, 20);
        fieldPanel.add(EEE);EEE.setBounds(50, 10, 100, 20);
        fieldPanel.add(KO);KO.setBounds(30, 50, 20, 20);
        fieldPanel.add(l1);l1.setBounds(20, 60, 100, 20);
        fieldPanel.add(QQ);QQ.setBounds(40, 70, 100, 20);

        KO.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent arg0) {
                cn[0]=AA.getText();
                cn[1]=BB.getText();
                cn[2]=CC.getText();
                cn[3]=DD.getText();
                cn[4]=EE.getText();
                AAA.setText(String.valueOf(an[0]));
            BBB.setText(String.valueOf(an[1]));
            CCC.setText(String.valueOf(an[2]));
            DDD.setText(String.valueOf(an[3]));
            EEE.setText(String.valueOf(an[4]));
                for(int i=0;i<an.length;i++)
                if(String.valueOf(an[i]).equals(cn[i]))num++;
                QQ.setText(String.valueOf(num));
                }
        });
        fieldPanel.setVerifyInputWhenFocusTarget(true);

        A.setText(bn[0]);
        B.setText(bn[1]);
        C.setText(bn[2]);
        D.setText(bn[3]);
        E.setText(bn[4]);

this.add(fieldPanel);
this.setBounds(400, 400, 250, 270);
this.setVisible(true);

    }
     }
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class Login {
    private JFrame frame = new JFrame("四则运算");
    private Container c = frame.getContentPane();
    private JTextField username = new JTextField();
    private JPasswordField password = new JPasswordField();
    private JButton ok = new JButton("确定");
    private JButton cancel = new JButton("取消");
    public Login(){        frame.setSize(300,200);
    c.setLayout(new BorderLayout());
    initFrame();
    frame.setVisible(true);
    }
    private void initFrame()
    {                //顶部
        ok.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent arg0) {
                new suanfa();
                }
        });
        JPanel titlePanel = new JPanel();
        titlePanel.setLayout(new FlowLayout());
        titlePanel.add(new JLabel("学生登录"));
        c.add(titlePanel,"North");
        //中部表单
        JPanel fieldPanel = new JPanel();
        fieldPanel.setLayout(null);
        JLabel l1 = new JLabel("学   号:");
        l1.setBounds(50, 20, 50, 20);
        JLabel l2 = new JLabel("密    码:");
        l2.setBounds(50, 60, 50, 20);
        fieldPanel.add(l1);
        fieldPanel.add(l2);
        username.setBounds(110,20,120,20);
        password.setBounds(110,60,120,20);
        fieldPanel.add(username);
        fieldPanel.add(password);
        c.add(fieldPanel,"Center");                //底部按钮
        JPanel buttonPanel = new JPanel();
        buttonPanel.setLayout(new FlowLayout());
        buttonPanel.add(ok);
        buttonPanel.add(cancel);
        c.add(buttonPanel,"South");    }
    public static void main(String[] args){        new Login();    }
    }
import java.util.Random;

public class suanfa {
    int a,b,c,d;
    int an[]=new int [5];
    String bn[]=new String [5];
    Random cn =new Random();
    suanfa(){
        int i=0;
        do{
        a=cn.nextInt(100);
        b=cn.nextInt(100);
        d=cn.nextInt(100)%4+1;
        switch(d){
            case 1:
                an[i]=a+b;
                bn[i]=String.valueOf(a)+"+"+String.valueOf(b)+"=";
                i++;
                break;
            case 2:
                an[i]=a-b;
                bn[i]=String.valueOf(a)+"-"+String.valueOf(b)+"=";
                i++;break;
            case 3:an[i]=a*b;
            bn[i]=String.valueOf(a)+"*"+String.valueOf(b)+"=";
            i++;
                break;
            case 4:an[i]=a/b;
            bn[i]=String.valueOf(a)+"/"+String.valueOf(b)+"=";
            i++;break;
        }
        }while(i<5);
        for(int j=0;j<bn.length;j++)
            {System.out.println(bn[j]);System.out.println(an[j]);
            }
        new yunsuan(an,bn);
    }

}
时间: 2024-10-05 20:51:53

作业四: 结对编程项目---四则运算的相关文章

作业四——结对编程四则运算

1. 结对编程项目---四则运算 此次编程项目的结队伙伴是方春阳 学号:130201129 计科13-1 博客地址 http://www.cnblogs.com/fcy29/ 根据要求我们设计了以下程序: 主界面: 在该页面下,可以看到此四则运算的主要功能,可以自行选择数的范围,系统默认值为1-100之间,超出这个范围并未得以实现,输入要生成题目的数量,然后按要求选择在算式中是否有乘除.负数.括号及真分数等功能,选择完成后,选好生成方式,点击确定.就可在框中自动生成算式.单击退出按钮便可退出该程

20175209王梓鸿 结对编程项目—四则运算 第一周 阶段总结

20175209王梓鸿 结对编程项目-四则运算 第一周 阶段总结 一.需求分析 1.题目要求: 实现一个命令行程序,要求: 自动生成小学四则运算题目(加.减.乘.除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 统计正确率 扩展需求 文件 处理生成题目并输出到文件 完成题目后从文件读入并判题 多语言支持简体中文,繁體中文,English 生成题目去重 二.设计思路 1.编写背景及完成情况 在开始写设计思路之前,我觉得应该说一下我们编写的情况(可能有些跑题).这次结对的

20175325 第一周结对编程项目 四则运算

20175325 第一周结对编程项目 四则运算 一.需求分析: 能根据用户输入的数字生成四则运算的题目数量 能自动生成规定范围内的四则运算题目(加.减.乘.除) 能够判断四则运算的结果是否正确并进行数量统计 能多次生成四则运算题目 支持多运算符 用户能够选择是否开始答题 统计题目正确率 题目去重 多语言支持:简体中文, 繁體中文, English 文件: 处理生成题目并输出到文件 完成题目后从文件读入并判题 二.设计思路: 和之前所学的C语言中的四则运算方法作类比,在JAVA中运用了C语言里的一

20175325 第二周结对编程项目 四则运算

20175325 第二周结对编程项目 四则运算 一.需求分析: 实现一个命令行程序,要求: 自动生成小学四则运算题目(加.减.乘.除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 统计正确率 题目去重 能多次生成四则运算题目 能根据用户输入的数字生成四则运算的题目数量 多语言支持: 简体中文, 繁體中文, English 文件: 处理生成题目并输出到文件 完成题目后从文件读入并判题 用户能够选择是否开始答题 二. 设计思路: 产生随机数并且考虑符号的优先级. 能实现整

结对编程项目——四则运算

1. 结对编程项目---四则运算 (10分) 基本功能要求: 1) 实现一个带有用户界面的四则运算.2) 生成的题目不能重复.3) 支持负数,例如-1,-1/2,-3‘4/5等.(达成) 需要支持的基本设定参数 1) 题目的数量  2) 数值的范围  3) 题目中最多几个运算符(目前没有达成)  4) 题目中或运算过程中有无有分数(比如进行整数除法的时候不能除尽) 5) 题目中是否有乘除法  6) 题目中是否有括号 (目前没有达成) 7) 题目中或运算过程中有无负数         学习感受:

20165206 结对编程项目-四则运算 阶段一总结

20165206 结对编程项目-四则运算 阶段一总结 一.需求分析 通过命令行输入生成题目的数量,随机生成题目. 生成的题目不重复. 生成的四则运算题目支持整数.支持多运算符. 能够根据作答情况统计正确的个数. 二.设计思路 设计一个类来实现整数的四则运算. 用一个循环结构来生成随机数,生成题目. 设计一个类来比较输入的答案与正确答案是否一致. 判断做的题是否正确,并返回正确的个数. 设计单元测试,对代码进行测试及修改 UML图: 三.核心代码 生成随机数: while(true){ a=new

20165318 结对编程项目-四则运算 阶段总结

20165318 结对编程项目-四则运算 阶段总结 一.需求分析 能随机生成n道四则运算题目,n由使用者输入 支持整数和分数 支持多运算符 能够判断正误,错误时能提醒并输出正确答案 能计算出正确率 能多次生成题目,直到使用者选择退出 后续拓展的可能 题目去重 文件: 处理生成题目并输出到文件 完成题目后从文件读入并判题 多语言支持:简体中文, 繁體中文, English 二.设计思路(同时输出UML类图) 首先考虑生成题目. 随机生成题目,用到Random函数,生成题目应该是同时随机生成数字和四

20165230 结对编程项目-四则运算 整体总结

20165230 结对编程项目-四则运算 整体总结 一.需求分析 随机生成题目 生成的题目个数从命令行输入 用户可选择生成不同难度的题目,比如通过参数指定: (1) 运算符个数范围 (2) 运算符限定(小学一年级题目只生成 + - 题目) 能多次生成题目 题目运算(判题) 支持多运算符 支持整数 支持真分数 题目合法性判断 可独立使用 可用于测试生成题目的正确性 扩展需求 题目去重 支持多语言 处理生成题目并输出到文件 完成题目后从文件读入并判题 二.设计思路 设计一个IntNumber类,用来

20165202 结对编程项目-四则运算 第二周

一.码云链接 二.需求分析 实现一个命令行程序,要求: 自动生成小学四则运算题目(加.减.乘.除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 统计正确率 三.设计思路(同时输出UML类图) 这周的总体设计要在上周的基础上深化,上周我们的代码没有用到中缀表达式转后缀表达式,没有用到栈,所以这周不仅要对上一周的代码进行修改,而且还要在此基础上完成更深层的对真分数的要求. 实现四则运算中后缀转换类 实现四则运算后缀表达式计算类 实现四则运算真分数计算类 实现四则运算生成题