diff --git a/src/mathpuzzle/service/JuniorHighGenerator.java b/src/mathpuzzle/service/JuniorHighGenerator.java index 8665ab0..d3decdc 100644 --- a/src/mathpuzzle/service/JuniorHighGenerator.java +++ b/src/mathpuzzle/service/JuniorHighGenerator.java @@ -24,11 +24,18 @@ public class JuniorHighGenerator implements QuestionGenerator { private String generateSingleQuestion() { List parts = new ArrayList<>(); - int operandCount = random.nextInt(4) + 2; + int operandCount = random.nextInt(5) + 1; parts = generateBase(operandCount, parts); // hasAdvancedOp用以检测下面的循环是否加入了高级运算符,如果没有就启动保底 boolean hasAdvancedOp = false; - if (operandCount > 2 && random.nextBoolean()) { + if (operandCount == 1) { + if ("平方".equals(ADVANCED_OPS[random.nextInt(ADVANCED_OPS.length)])) { + parts.add("平方"); + } else { + parts.set(0, "开根号" + parts.get(0)); + } + hasAdvancedOp = true; + } else { // 遍历查找左括号的合理位置 for(int i = 0; i < parts.size() - 2; i++) { // 该位置要为操作数且随机添加括号