两人结队项目

author author     2022-08-03     183

关键词:

两人组队:王汉斌,尹良亮

 

需求概要:

编写出一个能自动生成小学四则运算题目的软件,并能够判断其正确性。

分析:

由于给小学生出四则运算,其主要是产生随机数,调用加减乘除的方法。其中,最主要的是考虑到除法的问题,因为除法需要使用double型或者float型。

部分代码如下:

package fourarithmetic;

import java.util.Random;
import java.util.Scanner;

         public class FourArithmetic {

              public static void main(String[] args) {
               /**
                * 循环输出题数,并通过random产生随机数,
             */
             // 初始化对错为0
                int right = 0;
                int wrong = 0;
                    for (int i = 1; i <= 8; i++) {
                          System.out.println("第" + i + "道题:");// 做到第几题,循环输出
                   Random r = new Random();// 产生一个随机数,进行出题
                   int a = r.nextInt(12) + 1;
                   Random r1 = new Random();
                   int b = r1.nextInt(12) + 1;
                   Random r2 = new Random();// 生成随机运算符
                   int c = r2.nextInt(3) + 1;
                  char chrs[] = { ‘+‘, ‘-‘, ‘*‘, ‘/‘ };
                  String chr = String.valueOf(chrs[c]);
                       if (chr.equals("+")) { //调用add进行加法运算
                             System.out.println(a + "+" + b + "=");
                   boolean x = add(a, b);
                        if (x == true) {
                            System.out.println("输入正确");
                            right++;
                       } else {
                             System.out.println("计算错误");
                             wrong++;
                         }
               System.out.println("正确答案是:" + (a + b));
}
                            if (chr.equals("-")) { //调用减法方法进行运算
                               System.out.println(a + "-" + b + "=");
                           boolean x = sub(a, b);
                           if (x == true) {
                                 System.out.println("输入正确");
                                 right++;
                       } else {
                             System.out.println("计算错误");
                             wrong++;
                           }
                    System.out.println("正确答案是:" + (a - b));
                  }
                  if (chr.equals("*")) { //调用乘法进行运算
                    System.out.println(a + "*" + b + "=");
                    boolean x = multiplication(a, b);
                      if (x == true) {
                         System.out.println("输入正确");
                         right++;
                    } else {
                       System.out.println("计算错误");
                       wrong++;
                    }
                     System.out.println("正确答案是:" + (a * b));
 }
                     if (chr.equals("/")) { //调用division除法进行运算
                       System.out.println(a + "/" + b + "=");
                       boolean x = division(a, b);
                    if (x == true) {
                         System.out.println("输入正确");
                         right++;
                  } else {
                         System.out.println("计算错误");
                         wrong++;
  }
                             System.out.println("正确答案是:" + ((double) a / (double) b));
}
}
                                 System.out.println("************************");
                                      System.out.println("总共作对了?" + right + "题");
                                           System.out.println("共做错了?" + wrong + "题");
}
//以下分别为加减乘除的方法
                      private static boolean add(int a, int b) {
                            Scanner s = new Scanner(System.in);// 系统输入
                            int n = s.nextInt();
                            int res = a + b;
                            if (n == res) {
                           return true;
                    } else {
                          return false;
                     }
                       }
                         private static boolean sub(int a, int b) {
                              Scanner s = new Scanner(System.in);// 系统输入
                              int n = s.nextInt();
                              int res = a - b;
                                   if (n == res) {
                                        return true;
                                   } else {
                                         return false;
                                 }
                          }
                         private static boolean multiplication(int a, int b) {
                                 Scanner s = new Scanner(System.in);// 系统输入
                                 int n = s.nextInt();
                                 int res = a * b;
                                    if (n == res) {
                                        return true;
                                     } else {
                                          return false;
                                  }
                             }
                          private static boolean division(int a, int b) {
                                Scanner s = new Scanner(System.in);// 系统输入
                                float n = s.nextFloat();
                                float res = (float) a / (float) b;
                                   if (n == res) {
                                          return true;
                                        } else {
                                     return false;
                                }
                        }

                }

执行结果:

第1道题:
7/3=
2.33333
计算错误
正确答案是:2.3333333333333335
第2道题:
12-10=
2
输入正确
正确答案是:2
第3道题:
3/7=
0.4285
计算错误
正确答案是:0.42857142857142855
第4道题:
9/3=
3
输入正确
正确答案是:3.0
第5道题:
2/10=
0.2
输入正确
正确答案是:0.2
第6道题:
4*5=
20
输入正确
正确答案是:20
第7道题:
2/12=
0.16
计算错误
正确答案是:0.16666666666666666
第8道题:
5/7=
0.7142
计算错误
正确答案是:0.7142857142857143
************************
总共作对了?4题
共做错了?4题

有待提高的问题:如果加入到括号,怎么进行编写,若在除法中,怎么样保留位数,什么时候进行进位。怎么样编写程序才能支持真分数的四则运算等等问题,由于此题可扩展性强,所以还有很多地方有待提高。

工程源码地址:https://git.coding.net/handsomeman/four_arithmetic.git

结对编程一二事

...ing。整个过程还是比较流畅的,由于对项目的了解,加之两人之间相互帮助,当他思维阻塞时,我会 查看详情

《结队-结队编程项目贪吃蛇--需求分析》

用户的特点:  由于本程序简单易操作,交互性好,对用户没有什么特别的要求。项目功能设计概述:1.需求分析:  本系统主要完成贪吃蛇的基本操作,满足余下几点要求:  1)利用方向键(或A,B,C,D)改变蛇的运... 查看详情

结队项目

小组成员:彭青峰-1120161957、潘恋军-1120161955小组GitHub地址:https://github.com/bt-1120161955/Arithmetic项目预计花费时间:PSPPersonalSoftwareProcessStages预估耗时(分钟)实际耗时(分钟)Planning计划    Estimate  估计任务用时300&nbs... 查看详情

《结队-结队编程项目贪吃蛇--需求分析》

项目功能设计概述:1.需求分析:  本系统主要完成贪吃蛇的基本操作,满足余下几点要求:  1)利用方向键(或A,B,C,D)改变蛇的运行方向  2)空格键控制游戏的开始和暂停,并在随机的地方生成食物  3)蛇吃到... 查看详情

结队-结队编程项目贪吃蛇--需求分析

1.目标贪吃蛇游戏能够稳定运行,有基本的功能。2.特点简单易操作,交互性好3.功能模块的需求包括游戏图形区域界面(比如经典的无米宫地图,方格)、游戏开始按钮、暂停按钮、退出按钮。主要完成游戏的开始、暂停、退出... 查看详情

结队-结队编程项目贪吃蛇--需求分析

1.目标贪吃蛇游戏能够稳定运行,有基本的功能。2.特点简单易操作,交互性好3.功能模块的需求包括游戏图形区域界面(比如经典的无米宫地图,方格)、游戏开始按钮、暂停按钮、退出按钮。主要完成游戏的开始、暂停、退出... 查看详情

结队-结队编程项目贪吃蛇-需求分析

 1.目标贪吃蛇游戏能够稳定运行,有基本的功能。2.特点简单易操作,交互性好3.功能模块的需求包括游戏图形区域界面(比如经典的无米宫地图,方格)、游戏开始按钮、暂停按钮、退出按钮。主要完成游戏的开始、暂停、... 查看详情

结队项目

项目简介:Android软件都是需要不断更新的,当我们打开某个app的时候,如果有新的版本,它会提示你有新版本需要更新。该项目实现的就是这个功能。并且有强制更新和更新提示两种方式,点击强制更新和更新提示都会有提示... 查看详情

结队-贪吃蛇游戏-项目进度

导入pygame目前已经实现贪吃蛇游戏的场景绘制,舞台的尺寸redColour=pygame.Color(255,0,0)blackColour=pygame.Color(0,0,0)whiteColour=pygame.Color(255,255,255)greyColour=pygame.Color(150,150,150) 以及主题颜色的确定 查看详情

《结队-航空购票系统-项目进度》

目前我们结对编程项目的进度:1 打开应用程序的界面2 简单的登录实现用户登录后的跳转3  档用户输入错误的账号密码时的提示信息4 可以选择但是没有实现提交已经选择的内容5  数据的采集 目前... 查看详情

20165214结队编程项目-四则运算(第二周)(代码片段)

20165214第一次结队编程项目——四则运算第二周需求分析本周的结队编程想要实现一个四则运算系统,它可以自动生成n个计算题(本周不包括分数),其中n由我们输入。每输出一道题目,运行程序的人需要输入相应的答案,直... 查看详情

结队-五子棋游戏-项目进度

截止至2017-09-26,五子棋游戏进度为:    1.背景以及棋盘已经布置完成,大小以及基本按钮都已完成  2.棋子图片已经准备好,可以进行初步的下棋,只不过对于一些定点可能有些问题  3.按钮基本已完成问题:对... 查看详情

结队项目——附加题

代码本身是与地图无关的,对于地图的限制仅仅是格式,以及不能过多的站和线路(前者不能超过500后者不能超过50条)。格式为,先是  序号站名后一个空行后为线路名站序号列表例子如下,因为程序的地图无关性,使用各... 查看详情

结队-贪吃蛇游戏-项目进度

截止至2017-09-28,贪吃蛇游戏进度为:  1.界面实现(长度,宽度)  2.蛇的实现(蛇头,加蛇身初始长度)  3.按钮基本已完成(W,S,A,D)  4.运行轨迹实现&方向类实现(上下左右移动)  5.食物的实现(食物地点随... 查看详情

结队项目——第一次作业

作业地址:http://www.cnblogs.com/easteast/p/7511234.html1)我和我的队友031502142(张鹏)[进入他的博客]031502216(江郑)[进入他的博客] 2)需求分析采用NABCD模型对客户进行需求分析。2.1Need开学初部门纳新的流程繁琐复杂,信息流通... 查看详情

《结队-航空购票系统-项目进度》

目前我们结对编程项目的进度:1 打开应用程序的界面2 简单的登录实现用户登录后的跳转3 当用户输入错误的账号密码时的提示信息4 可以选择但是没有实现提交已经选择的内容5  数据的采集6 大部分ui... 查看详情

结队项目--需求分析与原型设计

结对者:031402324巫振格031402338解宇虹pdf文件:http://files.cnblogs.com/files/gzwu/作业.pdf工具:AxureUp8.0烦恼:1.过程繁琐,数据信息多级传递,费时费力,过程不透明2.大部分学生与老师都只能被动分配,难有自由选择3.学生无法与老师... 查看详情

结队编程项目作业3----开发过程

 开发过程:   软件需求分析,首先为整个棋盘建立一张表格用以记录棋子的信息。   初始化,建立盘面数组Table【15】【15】,对战双方的棋型表Computer【15】【15】【4】和Player【15】【15】【4】并将他们... 查看详情