运行 == b+ png ber rime bject generate
- 1
- /**
- 2 * 将数值放入到fraction数组中
- 3 * @param fen 简要放的 int类型数值
- 4 */
- 5 public void fenshu(int fen) {
- 6 fraction[i++] = fen;
- 7
- }
- 1
- /**
- 2 * 获得int 类型的数组,fraction对象
- 3 */
- 4 public void getFraction() {
- 5 fraction = new int[nums];
- 6
- }
- 1
- /**
- 2 * 获取num有多少个质数相乘的质数的数目,质数可相同
- 3 * @param num 任意的int类型的数值
- 4 */
- 5 public void primeNumber(int num) {
- 6
- if (num == 1) {
- 7 nums++;
- 8 System.out.println("num为 " + num);
- 9
- } else {
- 10 // 注意:因为老师不会出0/2的数,所以没写if(numa>0)如果给num 为0这里会出现死循环
- 11
- if (num % a == 0) {
- 12 nums++;
- 13 int d = num / a;
- 14 primeNumber(d);
- 15
- } else {
- 16
- if (num % b == 0) {
- 17 nums++;
- 18 int d = num / b;
- 19 primeNumber(d);
- 20
- } else {
- 21 b = b + 2;
- 22 primeNumber(num);
- 23
- }
- 24
- }
- 25
- }
- 26
- }
- 1
- /**
- 2 * 将值分解成最小质数和集
- 3 * @param num 将要分解的 int类型的数值
- 4 */
- 5 public void prime(int num) {
- 6
- if (num == 1) {
- 7 System.out.println("num为 " + num);
- 8
- } else {
- 9 // 注意:因为老师不会出0/2的数,所以没写if(numa>0)如果给num 为0这里会出现死循环
- 10
- if (num % a == 0) {
- 11 fenshu(a);
- 12 int d = num / a;
- 13 System.out.println("a为 " + a);
- 14 System.out.println("num为 " + d);
- 15 prime(d);
- 16
- } else {
- 17
- if (num % c == 0) {
- 18 fenshu(c);
- 19 int d = num / c;
- 20 System.out.println("c为 " + c);
- 21 System.out.println("num为 " + d);
- 22 prime(d);
- 23
- } else {
- 24 c = c + 2;
- 25 System.out.println("c更改为 " + c);
- 26 System.out.println("num不变依旧为 " + num);
- 27 prime(num);
- 28
- }
- 29
- }
- 30
- }
- 31
- }
- 1
- /**
- 2 * 将两个数组进行比较,如数组内有相同的数据,将其转换为1
- 3 * @param a 传递的第一个数组a
- 4 * @param b 传递的第二个数组b
- 5 */
- 6 public static void compareTwo(int[] a, int[] b) {
- 7 int alength = a.length;
- 8 int blength = b.length;
- 9
- if (alength >= blength) {
- 10
- for (int k = 0; k < blength; k++) {
- 11
- for (int m = 0; m < alength; m++) {
- 12
- if (a[m] == b[k]) {
- 13 a[m] = 1;
- 14 b[k] = 1;
- 15
- break;
- 16
- }
- 17
- }
- 18
- }
- 19
- } else {
- 20
- for (int k = 0; k < alength; k++) {
- 21
- for (int m = 0; m < blength; m++) {
- 22
- if (a[k] == b[m]) {
- 23 a[k] = 1;
- 24 b[m] = 1;
- 25
- break;
- 26
- }
- 27
- }
- 28
- }
- 29
- }
- 30
- }
- 1
- /**
- 2 *将数组内的所有元素进行相乘
- 3 * @param a 数组a
- 4 * @return
- 5 */
- 6 public static int product(int[] a) {
- 7 int product = 1;
- 8
- for (int s = 0; s) {
- 9 product = product * a[s];
- 10 a[s] = product;
- 11
- }
- 12
- return product;
- 13
- }
- 1
- /**
- 2 * 获取随机生成一个包含分子和分母,且分子分母都为质数的数组。
- 3 * @param num1 分子最小值
- 4 * @param num2 分子最大值
- 5 * @param num3 分母最小值
- 6 * @param num4 分母最大值
- 7 * @return 返回一个包含分子和分母的数组
- 8 */
- 9 public static int[] fractions(int num1, int num2, int num3, int num4) {
- 10 int[] fenshu = new int[2];
- 11 int first = generate(num1, num2);
- 12 int secound = generate(num3, num4);
- 13 count3Bean cBean = new count3Bean();
- 14 cBean.primeNumber(first);
- 15 cBean.getFraction();
- 16 cBean.prime(first);
- 17 int[] a = cBean.fraction;
- 18 count3Bean cBean2 = new count3Bean();
- 19 cBean2.primeNumber(secound);
- 20 cBean2.getFraction();
- 21 cBean2.prime(secound);
- 22 int[] b = cBean2.fraction;
- 23 compareTwo(a, b);
- 24 int fenzi = product(a);
- 25 int fenmu = product(b);
- 26 fenshu[0] = fenzi;
- 27 fenshu[1] = fenmu;
- 28
- return fenshu;
- 29
- }
- 1
- /**
- 2 * 将分数处理为不能再约分的数
- 3 * @param num1 分子
- 4 * @param num2 分母
- 5 * @return int类型的数组包含分子和分母
- 6 */
- 7 8 public static int[] fractions2(int num1, int num2) {
- 9 int[] fenshu = new int[2];
- 10 count3Bean cBean = new count3Bean();
- 11 cBean.primeNumber(num1);
- 12 cBean.getFraction();
- 13 cBean.prime(num1);
- 14 int[] a = cBean.fraction;
- 15 count3Bean cBean2 = new count3Bean();
- 16 cBean2.primeNumber(num2);
- 17 cBean2.getFraction();
- 18 cBean2.prime(num2);
- 19 int[] b = cBean2.fraction;
- 20 compareTwo(a, b);
- 21 int fenzi = product(a);
- 22 int fenmu = product(b);
- 23 fenshu[0] = fenzi;
- 24 fenshu[1] = fenmu;
- 25
- return fenshu;
- 26
- }
- 1 public class fenshu {
- 2
- 3 private String fenzixiao;
- 4 private String fenzida;
- 5 private String fenmuxiao;
- 6 private String fenmuda;
- 7 private String number;
- 8 .......
- 9 //此处省略get和set方法
- 10 public String execute(){
- 11ActionContext actioncontext = ActionContext.getContext();
- 12Map session = actioncontext.getSession();
- 13List fours=count3.getFourList(Integer.parseInt(number), Integer.parseInt(fenzixiao), Integer.parseInt(fenzida), Integer.parseInt(fenmuxiao), Integer.parseInt(fenmuda));
- 14session.put("fours", fours);
- 15 return"fenshusuccess";
- 16 }
- 17
- 18}
自动生成数学题型三 (框架 Struts2)题型如 a+b=c(a、b、c 都为分数)
来源: http://www.bubuko.com/infodetail-2016731.html