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