生成小学加减口算题JAVA算法
来源:互联网 发布:大华onvif端口号 编辑:程序博客网 时间:2024/04/29 02:53
生成小学加减口算题JAVA算法
package com.jianchi.fsp.generationchildrenarithmetic;import java.io.Serializable;import java.util.ArrayList;import java.util.List;import java.util.Random;/** * Created by fsp on 16-6-20. */public class GenHelper implements Serializable { //每道题的数字数,比如 2 , 3 ,4 public int numberNum; //生成题的数量 public int createCount; //运算类型 public String calculationMethod; //数值范围 public int resultRange; public List<String> make() { Random r = new Random(); Boolean[] methods = new Boolean[numberNum - 1]; int[] nums = new int[numberNum]; List<String> l = new ArrayList<>(); for (int count = 0; count < createCount; count++) { for (int i = 0; i < methods.length; i++) { if (calculationMethod.equals("混合")) methods[i] = r.nextInt(2) == 0;//生成 0 , 1, 0 为 true 为 加法 else if (calculationMethod.equals("加法")) methods[i] = true;//生成 0 , 1 else if (calculationMethod.equals("减法")) methods[i] = false;//生成 0 , 1 } while (true) { for (int i = 0; i < nums.length; i++) { nums[i] = r.nextInt(resultRange + 1); } if (test(methods, nums)) { l.add(String.valueOf(count + 1) + ". " + create(methods, nums)); break; } } } return l; } String create(Boolean[] methods, int[] nums) { StringBuilder sb = new StringBuilder(); sb.append(nums[0]); for (int i = 0; i < methods.length; i++) { sb.append(" ").append(methods[i] ? "+" : "-").append(" ").append(nums[i + 1]); } sb.append(" ").append("="); return sb.toString(); } boolean test(Boolean[] methods, int[] nums) { int d = nums[0]; for (int i = 0; i < methods.length; i++) { d = methods[i] ? d + nums[i + 1] : d - nums[i + 1]; if (d < 0 || d > resultRange) return false; } return true; }}
项目源码地址
https://code.csdn.net/do168/generationchildrenarithmetic
0 0
- 生成小学加减口算题JAVA算法
- md5口算算法
- 要口算题,那就写个吧。。。
- Java byte(short)溢出,口算方法
- PHP生成加减算法方式的验证码
- 算法谜题63 加减归零
- 生成小学算术题——小程序
- 小学二年级末 10000以内加减混合运算
- java大数算法完成五则运算之加减
- 日期加减算法
- 练习口算
- Ruby生成加减乘法作业
- Java生成MD5算法
- Java生成MD5算法
- Java生成MD5算法
- JAVA字典生成算法
- java随机数生成算法
- Java中日期加减
- SetWindowLongPtr和GetWindowLongPtr函数
- Features for OpenNLP POS Tagging
- SetTextColor函数
- DrawText函数
- 一篇软文
- 生成小学加减口算题JAVA算法
- CreateSolidBrush函数
- java表达式问题 初级问题
- SetBkMode函数
- CreateFont函数
- SelectObject和DeleteObject函数
- openmpi安装
- GetTextMetrics函数
- MoveToEx和LineTo函数