ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

队友个人项目代码分析

2022-09-13 21:31:23  阅读:177  来源: 互联网

标签:rand 个人 int 代码 question num 队友 operand


项目要求

 

功能实现

 

 

该项目使用的语言是Java,题目要求的功能全部实现,通过阅读其源代码,做出以下分析:

  优点:

  在生成题目的函数中,将运算符(+-*/),操作数(算式)和括号分开处理,令代码更简洁明了

if(type.equals("高中")){
            String[] sin={"sin","cos","tan"};
            operand_num=rand.nextInt(5)+1;
            question=new String[operand_num];
            for(int i=0;i<operand_num;i++){
                question[i]=String.valueOf(rand.nextInt(100)+1);
            }
            int special_num1=rand.nextInt(operand_num); //有根号或者平方的数字的个数
            int special_num2=rand.nextInt(operand_num)+1;//有三角函数的数字的个数(必须有一个)
            boolean[] flag1=new boolean[operand_num]; //防止操作数加了平方又加根号
            boolean[] flag2=new boolean[operand_num]; //防止操作数添加了两次三角函数
            for(int i=0;i<special_num1;i++){
                //如果操作数位置没有加根号/平方的话
                int j=rand.nextInt(operand_num);
                if(!flag1[j]){
                    //50%的概率加平方,50%的概率加根号
                    if(rand.nextBoolean()){
                        question[j]=question[j]+"²";
                    }
                    else question[j]="√"+question[j];
                }
                flag1[j]=true;
            }
            for(int i=0;i<special_num2;i++){
                int j=rand.nextInt(operand_num);
                if(!flag2[j]){
                    question[j]=sin[rand.nextInt(3)]+question[j];
                }
                flag2[j]=true;
            }
        }
        //加括号
        if(operand_num>=3&&rand.nextBoolean()){
            int length=rand.nextInt(operand_num-2)+1;
            int a=rand.nextInt(operand_num-length);
            int b=a+length;
            question[a]="("+question[a];
            question[b]=question[b]+")";
        }

        for(int i=0;i<operand_num-1;i++){
            question[i]+=signs[rand.nextInt(4)];
        }

  定义了user类,将用户的账号信息和登录信息封装起来,能有效地提高代码的编写的效率;

  将整个项目的流程拆分成几个方法,独立编写,增大了后期的拓展性,减小了修正的难度;

  代码间重要的地方都有注释,令人更易读懂代码;

  缺点:

  文件创建时使用了绝对路径,当计算机中不存在该路径时,会报错;

  当检验是否会有题目重复时,程序会读入所有已经生成过的文件,会占用很大的空间;

  用户的账号信息保存在程序中,不利于后期的拓展;

 

 

  

 

标签:rand,个人,int,代码,question,num,队友,operand
来源: https://www.cnblogs.com/T20151020/p/16690922.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有