软工第二次作业

第二次作业

Git地址 地址
Git用户名 Mile782
学号后五位 61220
博客地址 博客地址
作业链接 链接

代码地址

1.环境的配置过程

eclipse的使用
首先打卡eclipse并创建文件在这里插入图片描述
GitHub
这里已经下载好了
在这里插入图片描述

2.代码实现

作业背景

阿超家里的孩子上小学一年级了,这个暑假老师给家长们布置了一个作业:家长每天要给孩子出一些合理的,但要有些难度的四则运算题目,并且家长要对孩子的作业打分记录。
作为程序员的阿超心想,既然每天都需要出题,那何不做一个可以自动生成小学四则运算题目与解决题目的命令行 “软件”呢。他把老师的话翻译一下,就形成了这个软件的需求:
程序接收一个命令行参数 n,然后随机产生 n 道加减乘除(分别使用符号+-*/来表示)练习题,每个数字在 0 和 100 之间,运算符在 2 个 到 3 个之间。
由于阿超的孩子才上一年级,并不知道分数。所以软件所出的练习题在运算过程中不得出现非整数,比如不能出现 3÷5+2=2.6 这样的算式。
练习题生成好后,将生成的 n 道练习题及其对应的正确答案输出到一个文件 subject.txt 中。

1.代码用到的头文件

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import java.util.Scanner;
import java.io.PrintStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Random;

2.随机数的生成

Random r=new Random(System.nanoTime());

我们在random里面加了System.nanoTime()这个函数,是为了保证每次程序运行生成的随机数都不一样

3.随机生成算式
(1).题目要求算式是100以内的整数,所以我们要随机生成数,但它的大小不超过100

int[] a=new int[4];
Random r=new Random(System.nanoTime());
//生成不一样的随机数序列
for(int i=0;i<4;i++)
//随机生成四个100以内的数
{
		a[i]=r.nextInt(100);
}


(2).随机运算符的生成

char[] c= {'+','-','*','/'};
Random zifu=new Random(System.nanoTime());
int yunsuanfu=zifu.nextInt(4);
//因为运算只有四个,所以我们要生成不超过四的一个数
//用c【yunsuanfu】来表示运算符

(3).随机算式
因为题目要求运算符是2-3个,所以就有两种类型的算式
一种是三个数运算,一种是四个数运算
这里用一个随机生成数+switch就可以解决。

int m=r.nextInt(2);
switch(m)
{
case 0:
		suanshi=String.valueOf(""+a[0]+c[yunsuanfu]+a[1]+c[yunsuanfu1]+a[2]);
        break;
case 1:
		suanshi=String.valueOf(""+a[0]+c[yunsuanfu2]+a[1]+c[yunsuanfu3]+a[2]+c[yunsuanfu4]+a[3]);
		break;

4.将随机生成的算式写入subject.txt文件中
这里用两个函数就可以了

PrintStream p=new PrintStream(new FileOutputStream("subject.txt"),true);
//生成subject.txt文本
p.println();
//写入文件

程序运行

在这里插入图片描述
在这里插入图片描述

项目提交

作业的项目放在了源代码管理github上,所以我们需要登录github
步骤1 项目的克隆
找到班级仓库地址:仓库
然后点击Fork,将班级仓库复制到自己仓库
在这里插入图片描述
界面会自动跳转到自己的仓库,然后点击Clone or download,将弹窗中的地址复制下来。
在这里插入图片描述
在电脑中创建合适路径,我这里在桌面上创建了文件夹在这里插入图片描述
进入文件夹之后右键点击空白处,点击 Git Bash Here
在这里插入图片描述
在出现的界面里面输入 git clone 和之前复制的克隆自己仓库的地址
在这里插入图片描述
回车键
在这里插入图片描述
选择的那个文件夹中多了一个多了一个名为AchaoCalculator的文件夹
在这里插入图片描述
查看自己对项目的改动
将自己写的成功后的代码保存,进入到AchaoCalculator文件夹中,在空白处单击鼠标右键,点击Git Bash Here
(第一次使用,需要输入命令之后并回车之后会弹出一个GitHub登录界面,然后输入自己的GitHub账号)
在这里插入图片描述
输入命令:git add .
输入命令:git commit -m" 第二次提交"
(双引号里面填写本次提交的提交声明)
在这里插入图片描述
在这里插入图片描述
将当前分支推送到origin主机对应的分支中,也就是将本地仓库中的东西提交到GitHub中我们自己的仓库里
输入命令:git push origin
在这里插入图片描述

在我们仓库中就可以看见了
在这里插入图片描述
点击New pull request,填写将我们的仓库与班级仓库连接在一起
在班级仓库中的pullrequest 中就能找到自己的分支
点开自己分支就能看到我们的提交
在这里插入图片描述

单元测试

在项目上点右键 如图选择
在这里插入图片描述
点进去后上面选择
右边点击添加库
在这里插入图片描述
进去后选择JUnit
在这里插入图片描述
最后选择这个
在这里插入图片描述
然后我们在方法上面写@Testable
右键点击方法
在这里插入图片描述
然后它出了一些问题
在这里插入图片描述
解决方法:
参考了下同学的环境,jdk1.8.0_21。。。于是抱着试一下又不会怀孕的态度。。重装了jdk8。。。再次导入了junit测试框架,运行正常了。我对这个问题具体地原理不是很清楚,也许是兼容性的问题?之间重装了企业版,开发者版的eclipse/重装了jdk11.12都还是会报这个错。

作业感想

刚开始使用GIT感到非常的不适,一些东西搞了半天都不知道怎么弄,最后还是霸道地手动提交。
在构思的时候感到了极度的烦,感觉这里麻烦,那里麻烦,要考虑好多东西。但是开始写的时候就发现很多东西考虑都是多余的。然后就是各种查阅。就是文件那一块儿就搞了好久,每次都是保存不全。
这次作业成功地检验了我的心态,进行了很多的摸索,问了朋友很多东西,每接触一个新东西都是一种学习。

posted @ 2019-09-20 23:15  七岁就很酷  阅读(194)  评论(3编辑  收藏  举报