Initial commit

main
Arno 5 months ago committed by Gitea
parent 197926a9dc
commit aecc04d003

@ -28,8 +28,8 @@
## 题目生成说明
1. 小学题目2-5个操作数运算包含+、-、*、\,随机加括号
2. 初中题目1-5个操作数运算包含+、-、*、\,随机加平方或开根(至少一个),没有括号
3. 高中题目1-5个操作数运算包含+、-、*、\,每一项均为三角函数,随机加平方。
2. 初中题目1-5个操作数运算包含+、-、*、\,随机加平方或开根(至少一个),随机加括号
3. 高中题目1-5个操作数运算包含+、-、*、\,每一项均为三角函数,随机加平方,随机加括号
---
软件2302 202326010228 乔毅凡

@ -4,4 +4,5 @@ public interface G_ques {
String g_question();
String g_type();
char g_operator();
String add_brackets(StringBuilder s,int count);
}

@ -47,7 +47,7 @@ public class Jun_g_ques implements G_ques{
question = new StringBuilder(String.join(" ", parts));
}
}
return question.toString();
return add_brackets(question,count);
}
@Override
@ -60,4 +60,23 @@ public class Jun_g_ques implements G_ques{
char[] op={'+','-','*','/'};
return op[ra.nextInt(op.length)];
}
@Override
public String add_brackets(StringBuilder s,int count){
String res=s.toString();
String[] parts=s.toString().split(" ");
if (ra.nextBoolean()&&parts.length!=1) {
int num=ra.nextInt(3)+1;
for (int i=0;i<num;i++) {
int pos = ra.nextInt(count);
if (pos==count-1){
pos=pos-1;
}
parts[pos * 2] = "(" + parts[pos * 2];
parts[parts.length-1]=parts[parts.length-1]+")";
}
res = String.join(" ", parts);
}
return res;
}
}

@ -36,4 +36,9 @@ public class Pri_g_ques implements G_ques{
char[] op={'+','-','*','/'};
return op[ra.nextInt(op.length)];
}
@Override
public String add_brackets(StringBuilder s,int count){
return s.toString();
}
}

@ -21,7 +21,7 @@ public class Sen_g_ques implements G_ques{
question.append(g_trig()).append("(").append(g_angle()).append("°)");
}
}
return question.toString();
return add_brackets(question,count);
}
@Override
@ -44,4 +44,22 @@ public class Sen_g_ques implements G_ques{
String[] angle={"15","22.5","75","105","120","135","150","210","300"};
return angle[ra.nextInt(angle.length)];
}
public String add_brackets(StringBuilder s,int count){
String res=s.toString();
String[] parts=s.toString().split(" ");
if (ra.nextBoolean()&&parts.length!=1) {
int num=ra.nextInt(3)+1;
for (int i=0;i<num;i++) {
int pos = ra.nextInt(count);
if (pos==count-1){
pos=pos-1;
}
parts[pos * 2] = "(" + parts[pos * 2];
parts[parts.length-1]=parts[parts.length-1]+")";
}
res = String.join(" ", parts);
}
return res;
}
}

@ -0,0 +1,3 @@
Manifest-Version: 1.0
Main-Class: Main
Loading…
Cancel
Save