第二次结对编程

1 题目要求

本次作业要求两个人合作完成,驾驶员和导航员角色自定,鼓励大家在工作期间角色随时互换,这里会布置两个题目,请各组成员根据自己的爱好任选一题。

题目1:

:我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求

:能够自动生成四则运算练习题

:可以定制题目数量

:用户可以选择运算符

:用户设置最大数(如十以内、百以内等)

:用户选择是否有括号、是否有小数

:用户选择输出方式(如输出到文件、打印机等)

:最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)

具体代码:四则运算

结对伙伴:马超群

2 具体实现

(1) 题目控制

        Scanner scr = new Scanner(System.in);
        int x = scr.nextInt();
        int a = 0;
        int b = 0;
        int c = 0;
        while (c < x)

nextInt()取值范围是题目数量而定,所以定义生成的题数在0~99之间,

如果想要更改数值范围可以在scr.nextInt()更改即可。

(2)随机函数

Random r = new Random();

随机函数运用目的是确保数字之间的运算不会出现重复。而数值范围控

制在0~99之间,对更大的数值可能会出现溢出情况,在这里还未处理。

(3)四则运算的实现

1)加法的实现

case 0: {
                i = r.nextInt(30) + 1;
                j = r.nextInt(30) + 1;
                System.out.print(+i + "+" + j + "=");
                Scanner sc = new Scanner(System.in);
                int str = 0;
                str = sc.nextInt();
                int sum = i + j;
                if (str == sum) {
                    System.out.println("回答正确");
                    c++;
                    a++;
                } else {
                    System.out.println("回答错误");
                    int p = i + j;
                    System.out.println("正确答案是:" + p);
                    c++;
                    b++;
                }
            }
                break;

2)减法实现

case 1: {
                i = r.nextInt(30) + 1;
                j = r.nextInt(30) + 1;
                System.out.print(+i + "-" + j + "=");
                Scanner sc = new Scanner(System.in);
                int str = 0;
                str = sc.nextInt();
                int cha = i - j;
                if (str == cha) {
                    System.out.println("回答正确");
                    c++;
                    a++;
                } else {
                    System.out.println("回答错误");
                    int p = i - j;
                    System.out.println("正确答案是:" + p);
                    c++;
                    b++;
                }
            }
                break;

3)乘法的实现

case 2: {
                i = r.nextInt(30) + 1;
                j = r.nextInt(30) + 1;
                System.out.print(+i + "*" + j + "=");
                Scanner sc = new Scanner(System.in);
                int str = 0;
                str = sc.nextInt();
                int ji = i * j;
                if (str == ji) {
                    System.out.println("回答正确");
                    c++;
                    a++;
                } else {
                    System.out.println("回答错误");
                    System.out.println("正确答案是:" + i * j);
                    c++;
                    b++;
                }
            }
                break;

4)除法的实现

case 3: {
                i = r.nextInt(30) + 1;
                j = r.nextInt(10) + 1;
                if (i % j == 0) {
                    System.out.print(+i + "÷" + j + "=");
                    Scanner sc = new Scanner(System.in);
                    int str = 0;
                    str = sc.nextInt();
                    int shang = i / j;
                    if (str == shang) {
                        System.out.println("回答正确");
                        c++;
                        a++;
                    } else {
                        System.out.println("回答错误");
                        System.out.println("正确答案是:" + i / j);
                        c++;
                        b++;
                    }
                }
            }
                break;

3 导航员的评价

对马同学的评价:嗯,认真负责,很大程度上帮助本次作业的需求和准备

工作,积极参与结对编程,在分析问题时遇到过分歧,后来在耐心的互相

解释和让步中找到解决办法,这样是最好的解决办法,还有在运算过程中

遇到棘手问题也是一起解决的,在一个结对中伙伴的力量都不可或缺,所

以以后的团队中更是需要大伙一起才能做好工作。马同学在需求分析中提

出,要解决题目数量最大上限,还有如果回答的不对该如何处理。我解决

的办法是,上限是nextInt最大数值,对给出的答案应该和计算的结果对

比,正确不处理,错误应给出正确答案,并提示。

4 总结

通过此次结对编程,收获的都是在交流中和解决实际问题中得到的,不去

解决问题也许就无法有所收获,所以应该在实际问题中去学习,然后在去

看书,查资料,这样才会有目的去学习,记忆最深刻。

原文地址:https://www.cnblogs.com/wamgzuo/p/8858592.html

时间: 2024-10-12 21:02:54

第二次结对编程的相关文章

2016福州大学软件工程第二次结对编程作业成绩

在这里跟大家道个歉,由于国庆节基本都在参加婚礼的路上所以现在才把成绩统计汇总了一下,份子钱太吓人已经把不多的工资吃掉了,这个月要靠泡面度日了.你们可是要好好学习,好好赚钱,好出的起同学的份子钱啊.扯远了,第二次结对编程成绩统计如下: 学号 第二次结对编程 031402233 9.5 031402224 9.5 031402330 9.5 031402516 9 031402524 9 031402304 9 031402509 9 031402341 9 031402508 9 03140232

第二次结对编程-字词短语统计

第二次结对编程项目总结 第二次结对项目(词频统计要求网址): https://www.cnblogs.com/xinz/archive/2011/11/27/2265000.html 项目网址: https://github.com/QishenDatui/WordFrequency 基本要求 详细要求位于这里. 简要概括:根据输入的命令行参数,对文本中的字符进行对应的统计,例如使用-c命令统计字符出现次数,利用-f统计单词出现次数等等.项目一共分为5个步骤,4个必做项和一个附加项.分别为统计字

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

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

软件工程第二次结对编程

题目 我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求: 能够自动生成四则运算练习题 可以定制题目数量 用户可以选择运算符 用户设置最大数(如十以内.百以内等) 用户选择是否有括号.是否有小数 用户选择输出方式(如输出到文件.打印机等) 最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主) 结对编程角色 驾驶员 爆个照 开发环境 系统:WindowsXP 软件:VS2010 语言:C# 项目地址 Coding.net地址:https://git.codin

软件工程第五次作业——第二次结对编程

题目要求 本次作业要求两个人合作完成,驾驶员和导航员角色自定,鼓励大家在工作期间角色随时互换,这里会布置两个题目,请各组成员根据自己的爱好任选一题. 题目1: 我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求: 能够自动生成四则运算练习题 可以定制题目数量 用户可以选择运算符 用户设置最大数(如十以内.百以内等) 用户选择是否有括号.是否有小数 用户选择输出方式(如输出到文件.打印机等) 最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主) 角色分配 本次

第二周结对编程-20165222

一题目要求 实现一个命令行程序,要求: 自动生成小学四则运算题目(加.减.乘.除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 统计正确率. 二需求分析 1.用随机数随机生成数字,能够随机生成符号加减乘除(除数不为0). 2.支持分数和整数的四则运算,同样是利用随机数分别生成分子与分母(分母不为0). 3.能够判断输入答案的对错并统计正确率,要将用户输入答案与式子答案进行比较. 三设计思路 1.通过随机数来实现整数以及分数. 2.通过随机数结合if条件语句实现加减乘除

第二次结对编程—四则运算自动生成程序

一.题目要求 我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求: 能够自动生成四则运算练习题 可以定制题目数量 用户可以选择运算符 用户设置最大数(如十以内.百以内等) 用户选择是否有括号.是否有小数 用户选择输出方式(如输出到文件.打印机等) 最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主) 二.任务分配 驾驶员:王旭 领航员:张昊辰 驾驶员负责写代码,浏览文件,还有基础实现方法. 领航员则着眼更长远的考虑并且检查错误.进行代码测试和检查错误. 三.

第二周-结对编程

结对成员:李俞寰,杜桥, 工作地点:冬华B622 电脑:李俞寰的电脑用来两个人共同写代码,杜桥的电脑在一旁用来查资料等; 心得体会: 在刚开始的时候,感觉身边有人看着完全写不出代码,好多很基础的知识甚至是常用的语法知识也要上网查,这样被人看着感觉有点尴尬.后来随着逐渐熟悉起来这种感觉逐渐变淡.两个人一起编程感觉像多了一个看问题的角度,犯错误时,偶尔会被立即指出.在给对方讲解时,有些自己感觉模糊的地方有时在讲解的过程中会变得更加清晰.当对方给讲解时,不同的思考方式和描述会让我理解的更好.可能是还处

第二周结对编程作业——词频统计

本周作业是结对编写一个词频统计的程序,我们组是我(欧阳思琪)和贺晋飞同学共同完成这项任务.在仔细阅读了要求之后,我们组对程序编程进行了讨论.由于语言可以不必局限于要求中的C.C++,我们便考虑JAVA或python,两者各有优缺点,JAVA写起来比较繁重,而基于以往用python处理NLP相关项目的经验觉得python较为简单,但觉得在简单要求下,使用JAVA的运行速度明显更快,所以我们选择使用JAVA来完成本次作业. 分工:欧阳思琪 代码编写与博客编写 贺晋飞   代码审查与代码测试 实际:由