结对编程之队友代码分析

优点:

  1. Java GUI界面:

界面简约,操作简单,实用性强

 

    2 .独特的解题思想(上代码)

//生成对应年级的题目

    public String getSubject(int type) {
    Random rand = new Random();
    int Num,NumOpe;
    if(type == 0)   NumOpe = 4; //小学运算符下标取前4个
   
else if(type == 1)  NumOpe = 12;    //初中运算符取前12个
   
else NumOpe = 24;   //高中运算符取前24个
   
Num = rand.nextInt(4)+2;  //操作数个数
   
String Subject1 = " "//初始化题目 序号(eg:1.)后有空格
   
for(int i = 0; i < Num; i++)
    {
        if(i == Num-1)  //最后一个操作数则后面不用加运算符
           
Subject1 += (rand.nextInt(100)+1);
        else
           
Subject1 += (rand.nextInt(100)+1) + (Operator[rand.nextInt(NumOpe)]);
    }
    return Subject1;
    }

短短一个几行的函数,生成了具有不同长度,不同类型,随机化程度高的算术题,充分展现思维的灵活性,也让我学到了这种巧妙的解题方式;

    3.程序较高的模块性:

所有操作封装成对应的函数,主函数简单明了;

       public static int toHash(String str)
       void re_title(String name)
        String getTime()
       public Boolean check_xiaoxue()
        public Boolean check_chuzhong()
       public Boolean check_gaozhong()
        public String getSubject(int type)

    4. I/O处理人性化:

可以自由的改变输出文件夹的位置

File folder = new File("F:\\试卷");  //生成放试卷的文件夹
if(!folder.exists()){  //如果文件夹不存在
   
folder.mkdir();   //创建文件夹
}
 5.  Hash去重:简单高效的去重方式
public static int toHash(String str)                                                    //字符串哈希函数,返回字符串生成哈希值
{
    int hashcode = 0;
    int length = str.length();
    int letterValue = 0;
    for(int i = 0; i < length; i++)
    {
        letterValue += str.charAt(i);
        hashcode = letterValue % 301;
    }
    return hashcode;
}
缺点:
    代码过长,可以写一些复用函数来精简代码;

猜你喜欢

转载自www.cnblogs.com/suwenjiang/p/9710902.html