zoukankan      html  css  js  c++  java
  • 软件工程个人作业01

    题目:能自动生成小学生四则运算题目,要求:

    除了整数以外,还要支持真分数的四则运算(需要验证结果的正确性)、题目避免重复、可定制出题的数量。(有能力者改编成网页版)

    程序设计思想:用产生随机数的方法随机产生运算的数字和运算符,分数运算则用四个随机数分别表示分子和分母;由用户输入题目个数,即产生随机数的循环次数;在产生随机数时限制即可保证题目正确性;要保证题目不重复,则要将产生的随机数保存在起来,将新产生的与以保存的比较,若完全相同则跳过,循环次数加一。

    源程序代码:

    //四则运算,差不为负,真分数运算,定制出题数量,验证结果正确性
    //没有完成避免题目重复的部分
    import java.util.Scanner;
    public class Yunsuan {
        public static void main(String[] args) {
            System.out.println("请输入需要的题目数量(最大数目为1000):");
            Scanner number=new Scanner(System.in);
            int n=number.nextInt();
            yunsuan(n);
        }
        public static int random(int n){     //n为随机数个数
            int value=1+(int)(Math.random()*n);//随机数最小为1
            return value;
        }
        public  static void yunsuan(int m){
            int value1,value2,value3,value4,y;
            String result="",result2="";
            String ysf=null;
            for(int i=0;i<m;i++)
            {
                //取随机数
                value1=random(100);
                value2=random(100);
                value3=random(100);
                value4=random(100);
                y=random(4);     //运算符
                if(y==1) ysf="+";
                else if(y==2) ysf="-";
                else if(y==3) ysf="*";
                else if(y==4) ysf="/";
                if((value1%value2!=0&&value1<value2&&value3<value4)||(value1<value2&&value3<value4&&value3%value4!=0))  //真分数运算
                {
                    result2=value1+"/"+value2+" "+ysf+" "+value3+"/"+value4+" =";
                    System.out.println(result2);           
                }                 
               //整数运算
                else
                {                
                    if(y==2&&value1>value2)
                    {
                       result=value1+" "+ysf+" "+value2+" =";
                       System.out.println(result);
                    }
                    else m++;
                }
                             
            }    
        }
    }

    程序还有不完整的地发,不能实现最简分数,不能进行题目查重。

    运行结果截图:

    上课时其实代码写完了,但是不能用于后续添加功能,因为上课时开始的代码是这样的:

    public class Test {
        public static void main(String[] args) {
            //产生100以内随机数        
            //产生运算符号
            //产生100以内随机数
            for(int i = 0 ; i < 30 ; i ++)
            {
                //产生随机数
                int value =1+(int)(Math.random() *100 );  //1-100
                int value2=1+(int)(Math.random()*4);      //1-4
                int value1=1+(int)(Math.random()*100);    //1-100
                //输出
                //第一个数字
                System.out.print(value+" ");                  
                //运算符号
                if(value2==1)System.out.print("+");
                else if(value2==2)System.out.print("-");
                else if(value2==3)System.out.print("*");
                else if(value2==4)System.out.print("/");
                //第二个数字
                System.out.println(" "+value1+" "+"=");   
           }                
        }
    }

    于是又重写了一个,但是没有完成。

  • 相关阅读:
    关于共享安全的几个命令
    从句语法
    WampServer 在 httpd.conf 中配置多站点 (IP 配置法:不用每次修改 hosts 文件 + 域名配置法 )
    Java实现蓝桥杯 算法训练 大等于n的最小完全平方数
    Java实现蓝桥杯 算法训练 大等于n的最小完全平方数
    Java实现蓝桥杯 算法训练 大等于n的最小完全平方数
    Java实现 蓝桥杯 算法训练 1的个数
    Java实现 蓝桥杯 算法训练 1的个数
    Java实现 蓝桥杯 算法训练 1的个数
    谷歌面试题之扔鸡蛋的问题(蓝桥杯摔手机的问题)
  • 原文地址:https://www.cnblogs.com/chen160340/p/6505897.html
Copyright © 2011-2022 走看看