2016012077+小学四则运算练习软件项目报告

 Coding.net原码仓库地址:https://git.coding.net/gemyty/personal.git

1.需求分析

1)、程序可接收一个输入参数n,然后随机产生n道加减乘除(分别使用符号+-*÷来表示)练习题,每个数字在 0 和 100 之间,运算符在3个到5个之间。

2)、每个练习题至少要包含2种运算符,并且练习题在运算过程中不得出现负数与非整数。

2.功能设计

1)、基本功能:

    ①程序接收参数n,并对n的合法性作出判断,若出现错误则提示。

    ②程序能自动生成n个四则运算式,并计算出结果。

    ③运算式会展现在txt中。

3.设计实现

(1)、calculation()实现构造一个运算式,实现3至6个运算符的要求

(2)、 exact()实现整除,防止小数生成

(3)、positive()实现正数运算,防止负数生成

(4)、main()负责接收参数num,判断参数num的合法性,调用函数产生合格的四则运算式,计算运算式结果并将式子+结果通过打印输出流输出到文件中的功能。

4.算法详解

用calculation()方法生成算式;

用exact实现整除,并防止负数生成。

/* 实现整除 */
public static int decide(int a, int b) {
if (a % b != 0) {
b = new Random().nextInt(100) + 1;
return decide(a, b);
}
return b;
}

/* 使减号前面的数大于后面的,不出现负数 */
public static int decide2(int a, int b) {
if (a - b < 0) {
b = new Random().nextInt(100) + 1;
return decide2(a, b);
}
return b;
}

5.测试运行

你的程序必须是可运行的,请展示程序的运行截图,包括题目要求实现功能对应的运行截图。这些截图说明你的程序确实完成了项目需求,如果程序实现了扩展需求,也请大方秀出来。

 

 

6.粘贴自己觉得比较独特的或满意的代码片段

    得到结果

/* 生成结果 */
int result = 0;
for (int i = 1; i < str.length; i++) {
if (str[i] == "*" || str[i] == "÷") {
if (str[i] == "*") {
result = Integer.parseInt(str[i - 1]) * Integer.parseInt(str[i + 1]);
str[i - 1] = String.valueOf(result);
str[i + 1] = String.valueOf(result);
} else {
result = Integer.parseInt(str[i - 1]) / Integer.parseInt(str[i + 1]);
str[i - 1] = String.valueOf(result);
str[i + 1] = String.valueOf(result);
}
}
}

for (int i = 1; i < str.length; i++) {
if (str[i] == "+" || str[i] == "-") {
if (str[i] == "+") {
result = Integer.parseInt(str[i - 1]) + Integer.parseInt(str[i + 1]);
str[i - 1] = String.valueOf(result);
str[i + 1] = String.valueOf(result);
} else {
result = Integer.parseInt(str[i - 1]) - Integer.parseInt(str[i + 1]);
str[i - 1] = String.valueOf(result);
str[i + 1] = String.valueOf(result);
}
}
}
if (result > 100 || result < 0) {
return null;
} else {
for (int i = 0; i < str2.length - 1; i++) {
}
str2[str.length - 1] = String.valueOf(result);
String str3 = str2[0];
for (int i = 1; i < str2.length; i++) {
str3 += str2[i];
}
return str3;
}

}

  /* 使减号前面的数大于后面的,不出现负数 */

	public static int positive(int a, int b) {
		if (a - b < 0) {
			b = new Random().nextInt(100) + 1;
			return positive(a, b);
		}
		return b;
	}

  

      7.总结

因为自己的能力不足,所以做这个项目的时候有非常多的困难,在这个过程中也收获了许多,做的时候开始非常迷茫不知从哪里开始,后来看了些资料例子博客什么的,有了一点思绪,然后清理了思路,开始写,写的时候有很多错误,一直在修修改改,有时候觉得写对了,但还是有报错,有时候查了些资料解决了,有的还是不知怎么弄得只有重新写过。经过这次,实际感受到了做计划的重要性,一定要有清晰思路后再着手,然后java必须要自己私下加速努力了,有想法但是写不出来更是恼火。

8.展示PSP

            代码编写用了许多时间,修改更是用了许多许多时间, 只有反思自己的代码能力,非常有待加强。然后计划也应清晰。

---恢复内容结束---

原文地址:https://www.cnblogs.com/benmatt/p/8646826.html