博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件工程结对作业02
阅读量:4312 次
发布时间:2019-06-06

本文共 5274 字,大约阅读时间需要 17 分钟。

程序的设计思想

创建两个二维数组,其中一个命名为number,用来储存随机数,第一行是随机数,第二行作为分母,初始值为1.

第二个数组命名为symbol,第一行用来储存符号,第二行用来确定运算顺序,加减法标志为1,乘除法标志为2,产生随机数,产生随机数的位置为3,作为加上括号的位置最先运算。

相应的,第symbol数组中第i个运算符要运算的数字为number数组中第i和第i+1个数,因为分母不能为0,所以当运算第i个运算符时,要分别从i向前和i+1向后找第一个分母不为0的数将位置分别记为a和b,根据分数的运算法则运算出分子和分母,储存在number[0][a]和number[1][a]中,更新b位置的数据全部为0。最后的结果就是number[0][a]和number[1][a]中的数,进行约分就可以了。

网页的设计思想

网页包含时间及日期,留言板,五个年级的题目模块,设置用户选择参数的下拉菜单和按钮,目前只做好了五年级的题目模块。Java程序和网页的结合没有做好,不能实现参数的传递。

功能模块

功能一:带括号的运算式的正确运算                                                            实际用时:90分钟

功能二:产生有效算式                                                                             实际用时:3小时

功能三:运算式结果出现小数时,输出其分数形式                                           实际用时:2小时

功能四:运算式及其结果不出现负数(难点:如何判断连续的减法)                     实际用时:10分钟

功能五:判断正确题目的数量给出分数,输出错误的题目个数                             实际用时:20分钟

功能六:网页的实现                                                                               实际用时:8小时左右

 

源程序代码

 ceshi.java

package ceshi;import java.util.Scanner;public class ceshi {    public static void main(String[] args) {        // TODO Auto-generated method stub        System.out.println("请输入题目的数量:");        Scanner sc1 = new Scanner(System.in);        int quantity = sc1.nextInt();        System.out.println("请输入产生数字的最大值:");        int max = sc1.nextInt();        System.out.println("请输入是否有负数:");        int iffu = sc1.nextInt();        System.out.println("请输入是否有乘除法:");        int ifcheng= sc1.nextInt();        equation(quantity,max,iffu,ifcheng);    }    static void equation(int quantity,int max,int iffu,int ifcheng)    {        int t=0;        for(int i=0;i
2) { kuo=(int)(Math.random()*(numberlength-2)); symbol[1][kuo]=3; } for(int j=0;j
number2[1][0]) a=number2[1][0]; for(int j=a;j>1;j--) { if(number2[0][0]%j==0&&number2[1][0]%j==0) { number2[0][0]=number2[0][0]/j; number2[1][0]=number2[1][0]/j; break; } } result=String.valueOf(number2[0][0])+'/'+String.valueOf(number2[1][0]); } else result=String.valueOf(number2[0][0]); output(number1,symbol,kuo); Scanner sc1 = new Scanner(System.in);// String re = sc1.next();// if(re.equals(result)) t=t+1; System.out.println("正确结果为:"+result); } System.out.println("正确题的数目:"+t+"错误题的数目:"+(quantity-t)); } static void output(int number[],int symbol[][],int j) { String a=String.valueOf(number[0]); if(j==0) a='('+a; for(int i=0;i
=0;i--) { if(number[1][i]!=0) { a=i; break; } } for(int q=p+1;q
=0) { number[0][a]=number[0][a]*number[1][b]-number[1][a]*number[0][b]; number[1][a]=number[1][a]*number[1][b]; number[0][b]=0; number[1][b]=0; } else { symbol[0][p]=1; } } if(symbol[0][p]==1) { number[0][a]=number[0][a]*number[1][b]+number[1][a]*number[0][b]; number[1][a]=number[1][a]*number[1][b]; number[0][b]=0; number[1][b]=0; } if(symbol[0][p]==3) { number[0][a]=number[0][a]*number[0][b]; number[1][a]=number[1][a]*number[1][b]; number[0][b]=0; number[1][b]=0; } if(symbol[0][p]==4) { number[0][a]=number[0][a]*number[1][b]; number[1][a]=number[1][a]*number[0][b]; number[0][b]=0; number[1][b]=0; } } static int randomNumber(int max,int iffu)//产生随机数 { int number=1+(int)(Math.random()*max); if(iffu==1) { number=0-number; } return number; } static int randomSymbol(int ifcheng)//产生随机符号 { int symbol; if(ifcheng==1) { symbol=1+(int)(Math.random()*4); } else { symbol=1+(int)(Math.random()*2); } return symbol; }}

 

Index.html

 

            首页      
欢迎进入二柱子小学四则运算
欢迎留下宝贵意见 :
请选择(默认有括号,有乘除,有余数):

有乘除

无余数

有括号

请选择运算数最大值:
请选择运算数最小值:

 

运行结果截图

 

编程总结或体会

我们两个人的分工不够正确,因为是由我写Java程序,由凯丽写网页,但是在实施过程中发现这样的合作并理想,凯丽对于程序不熟悉,而我对于网页也不了解,导致这次的网页并没有很好的实现出来。

在之后的合作中小组成员之间应该更多的交流,尽量避免你做你的,我做我的这样的事情发生。

周活动总结表

        姓名:张雪晴                            日期 2016 / 4 / 9

 

听   课

编写代码

阅读课本

撰写博客

日总计

周日

 

 

 

 

 

周一

 

 

 

 

 

周二

100分钟

 

 

 

100分钟

周三

 

110分钟

 

 

110分钟

周四

 

80分钟

 

 

80分钟

周五

 

30分钟

 

30分钟

60分钟

周六

 

 

100分钟

80分钟

180分钟

周总计

100分钟

220分钟

100分钟

110分钟

530分钟

 

 

  

 

 

 

 

 

 

 

                           时间记录日志

          学生:张雪晴                   日期:2016 / 4 / 9

          教师:王建民                    课程:软件工程

日期

开始时间

结束时间

中断时间

净时间

活动

备注

C

U

4.5

8:00

9:50

 

100

听课

 

 

4.6

19:00

21:00

 

110

写程序

 

 

4.7

19:10

20:30

 

80

写程序

 

 

4.8

12:30

1:30

 

60

写程序+发表博客

 

 

4.9

7:20

9:00

 

100

阅读网页制作的书

 

 

17:20

18:40

 

80

撰写博客

同组成员:尤凯丽

地址:http://www.cnblogs.com/love528

 

转载于:https://www.cnblogs.com/1443188449qq/p/5372351.html

你可能感兴趣的文章
POJ 1679 The Unique MST(次小生成树)
查看>>
System.Transaction (TransactionScope) 与 可提升 (Promotable) 交易
查看>>
arcgis js api 本地化配置
查看>>
PHP学习:数组
查看>>
想爱容易,相处难:当ASP.NET MVC爱上IoC
查看>>
技术资料整理
查看>>
Ember——传数据——代码示例
查看>>
OpenStack的容器服务体验
查看>>
在创业公司做架构师,你需要解决哪些问题?
查看>>
《深入浅出pig系列之中的一个》pig-0.12.0-cdh5.1.2的安装与执行
查看>>
cocos2dx 3.1从零学习(二)——菜单、场景切换、场景传值
查看>>
百度编辑器动态添加内容及防止过滤样式或其他属性解决办法
查看>>
作业二(1)
查看>>
[原]使用MachOView辅助破解AppStore应用
查看>>
【学习笔记】分类模型的评估
查看>>
使用notepad++远程编辑Linux文档
查看>>
iOS - Actions and Outlets
查看>>
mysql 查询开销
查看>>
notepad++列模式
查看>>
[ios基础]IOS应用程序的生命周期问题
查看>>