生成小学算术题——小程序
来源:互联网 发布:怎样注册淘宝账户 编辑:程序博客网 时间:2024/05/01 06:25
题目要求是, 对给定的三个数字,生成特定的小学算术题。
例如,当输入的是20 3 100的时候,生成100个20以内的,含有3个数参加运算的加减运算题。
下面的代码比较简单,也有详细的注释。代码还存在很多不足。最大的问题在于,虽然用了面向对象的思想,但做法却还是有点面向过程的感觉。也就是还没有完全顺应面向对象的思想,不能做到用面向对象的思维去思考问题。还需继续面向对象!
import java.util.Scanner;public class shizi {public static void main(String[] args) {int a[]=new int[3];//a[0]、a[1]、a[2]分别代表所有数字的范围、加数的个数、生成式子的个数Scanner s=new Scanner(System.in);for(int i=0;i<3;i++){String s1=s.next();Integer intm=new Integer(s1);a[i]=intm.intValue();}s.close();//以上是输入for(int i=0;i<a[2];i++){//Formula myFormula=new Formula(a[1],a[0]);int j=0;while(j<a[1])j+=1*myFormula.add(myFormula.numRand());//是否加入成功,没加入到式子中则j不变,否则j+1myFormula.printFormula();}}}class Formula{int addendNumber_cur;//当前加数的个数.int addendNumber;//最终需要的加数个数,生成符号数组和加数数组的时候使用.int addend_range;//加数的范围.int ans_cur;//当前和.int addends[];Formula(int addendNumber,int addend_range){this.addendNumber=addendNumber;this.addend_range=addend_range;this.ans_cur=0;this.addendNumber_cur=0;this.addends=new int[addendNumber];}int add(int add_num){int ans_temp=this.ans_cur+add_num;if(ans_temp<0||ans_temp>this.addend_range){//这个if不太好消除return 0;}else{this.addends[this.addendNumber_cur]=add_num;//将这个数字加入到加数数组中this.ans_cur=ans_temp;//更新 当前的和this.addendNumber_cur++;//当前已有的加数个数+1return 1;}}int numRand(){return (int) ((Math.random()-0.5)*2*this.addend_range);//随机生成一个绝对值小于addend_range的数}void printFormula(){System.out.print(this.addends[0]);for(int i=1;i<this.addendNumber;i++)System.out.printf("%+d",this.addends[i]);System.out.println("=");}}若发现有什么错误或者不足,请指正,谢谢
0 0
- 生成小学算术题——小程序
- 小学算术题
- 给小学生出算术题
- 小学算术
- 一道小学算术题,忽悠了全国人民.
- POJ_3444_小学算术
- 一道85%网民做错的小学算术题
- 一道85%的做错的小学算术题
- 算术练习--小学算术练习软件
- 生成小学加减口算题JAVA算法
- 10个大学生9个答错的小学算术题,考考你的智商
- 一道看起来简单的小学算术题,却总是得不到正确答案。不信,你试试看!!!!
- 基础语言-题目74(小学算术)
- 蜗牛!快爬!(小学算术问题)
- 每天一个小程序——第 0001 题:生成200个验证码
- 小学期程设1—8
- 小学四则运算演算程序
- 第47讲 小学百以内算术练习题库
- Findbugs异常总汇
- [bash]正则表达式、BRE模式
- 升级Xcode7后所要更改的配置
- 字符串处理的例子
- 根据年份和月份,获取某月多少天
- 生成小学算术题——小程序
- Spring 配置 map 映射
- 开源镜像
- 技术管理者培训小结一:内在修养
- Memcache系列(一)Linux安装memcache
- 取得tableViewCell中的任意一个cell
- Leetcode69: Binary Tree Preorder Traversal
- 解决android代码中重复写findViewByid()
- 多线程的理解