parent
d429dcb895
commit
b76e99523e
@ -0,0 +1,37 @@
|
||||
package generator;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class JuniorHighGenerator extends BaseGenerator {
|
||||
@Override
|
||||
protected String createUniqueQuestion() {
|
||||
int numOperands = random.nextInt(4) + 2;
|
||||
|
||||
List<String> operands = new ArrayList<>();
|
||||
for (int i = 0; i < numOperands; i++) {
|
||||
operands.add(String.valueOf(getRandomOperand()));
|
||||
}
|
||||
|
||||
int specialIndex = random.nextInt(numOperands);
|
||||
int originalValue = Integer.parseInt(operands.get(specialIndex));
|
||||
|
||||
if (random.nextBoolean()) {
|
||||
operands.set(specialIndex, "sqrt(" + (originalValue * originalValue) + ")");
|
||||
} else {
|
||||
operands.set(specialIndex, originalValue + "^2");
|
||||
}
|
||||
|
||||
StringBuilder questionBuilder = new StringBuilder();
|
||||
String[] basicOperators = {"+", "-", "*"};
|
||||
|
||||
questionBuilder.append(operands.get(0));
|
||||
for (int i = 1; i < numOperands; i++) {
|
||||
String operator = basicOperators[random.nextInt(basicOperators.length)];
|
||||
questionBuilder.append(" ").append(operator).append(" ").append(operands.get(i));
|
||||
}
|
||||
questionBuilder.append(" = ?");
|
||||
|
||||
return questionBuilder.toString();
|
||||
}
|
||||
}
|
Loading…
Reference in new issue