import java.util.Random; /** * 小学题目生成器 */ public class PrimaryQuestionGenerator extends AbstractQuestionGenerator { @Override public String generateQuestion(int[] operands, Random random) { StringBuilder question = new StringBuilder(); // 小学题目:只能有+,-,*,/和(),严格按照附表-2要求 question.append(operands[0]); for (int i = 1; i < operands.length; i++) { String op = BASIC_OPERATORS[random.nextInt(BASIC_OPERATORS.length)]; // 随机添加括号,确保括号内也有运算符 if (i < operands.length - 1 && random.nextBoolean()) { question.append(" ").append(op).append(" (").append(operands[i]); if (i + 1 < operands.length) { op = BASIC_OPERATORS[random.nextInt(BASIC_OPERATORS.length)]; question.append(" ").append(op).append(" ").append(operands[++i]).append(")"); } else { question.append(")"); } } else { question.append(" ").append(op).append(" ").append(operands[i]); } } return question.toString(); } }