zoukankan      html  css  js  c++  java
  • 四则运算2之设计思路篇

    四则运算2设计思路

      对于四则运算程序的新要求:

    1、题目避免重复;

    2、可定制(数量/打印方式);

    3、可以控制一下参数:

      是否有乘除法、数值范围、加减有无负数、除法有无余数、是否支持分数(真分数,假分数,...

    要求一、

      首先解决第一个要求:题目避免重复。第一件事就是优化得到随机数的算法,在每次生成算式的循环中,首先排除被除数为0的除法算式,将得到的算式分别赋给四个字符串数组,根据本次随机得到的运算符分别在四个字符串数组中进行比较,默认交换律得到的两个式子满足要求,可以作为交换律的考察。

    要求二、 

     数量和打印则定义两个参数分别代表需要输出的算式数量和输出的格式。

    要求三、

      对于各种参数的限制,该如何让各个参数限制进行组合,下面先分块给出了各个问题的解决思路:

     1). 是否有乘除法,如果不要乘除法,则抛弃随机出乘除法的算式,跳过此循环。

     2).数值范围,第一个参数作为求随机数的范围参数。

     3).加减有无负数,如果可以有负数,则设计一个参数来随机随机数的正负,如果为负,则让产生的随机数减去2倍的本身产生相反数。

     4).除法是否有余数,如果不可以有余数,则将除不尽的算式抛弃即可。

     5).是否支持分数(真分数,假分数,...),如果支持分数,不区分分数的种类,满足分数的条件即可,和加减有无负数类似,设置一个参数来随机是否要产生一个分数,然后重新设置两个随机数来产生分数的分子和分母。

      对于各种参数限制的组合,可以让每个算式中的参数产生时,先依次对上述5个限制进行判断和约束,得到满足所有参数限制的参数后组合成为一个算式,再对新要求的第一个要求进行判断。

  • 相关阅读:
    练习写一个工资结算系统
    【课堂】模拟奥特曼打小怪兽
    模拟简单对打(昨天代码的小修改)
    模拟简单游戏创建类
    数组的应用练习
    Java基础的思维导图
    springBoot集成MyBatis和Mybatis自动生成代码GeneratorMapper.xml配置
    ubuntu14.04安装eclipse没有标题
    ubuntu14.04安装Hadoop0.20.2
    Apache编码问题
  • 原文地址:https://www.cnblogs.com/little-clever/p/4334892.html
Copyright © 2011-2022 走看看