优点:
- 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; }
缺点:
代码过长,可以写一些复用函数来精简代码;
原文地址:https://www.cnblogs.com/suwenjiang/p/9710902.html
时间: 2024-10-07 02:11:04