11.1学习总结

发布时间 2023-11-01 14:02:13作者: 代不动码
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashSet;
import java.util.Random;
import java.util.Scanner;
import java.util.Set;

public class MathExerciseGenerator {
public static void main(String[] args) {
int numExercises = 50; // 修改为所需的题目数量
System.out.println("欢迎来到口算题卡系统");
System.out.println("请输入生成题目数量!");
Scanner scanner = new Scanner(System.in);
numExercises = scanner.nextInt();
int range = 100; // 最大数字范围
System.out.println("请输入生成数字最大范围!");
range= scanner.nextInt();
System.out.println("下面开始作答。");

generateMathExercises(numExercises, range);
}

private static void generateMathExercises(int numExercises, int range) {
try {
FileWriter csvWriter = new FileWriter("math_exercises.csv");

Set<String> exercises = new HashSet<>();
Random random = new Random();

while (exercises.size() < numExercises) {
int num1 = random.nextInt(range) + 1;
int num2 = random.nextInt(range) + 1;
char operator = "+-*/".charAt(random.nextInt(4));

String exercise = num1 + " " + operator + " " + num2;

if (operator == '/' && num1 % num2 != 0) {
// Skip divisions that result in decimals
continue;
}
if (exercises.contains(exercise)) {
// Skip duplicate exercises
continue;
}
exercises.add(exercise);

// Write the exercise to the CSV file
csvWriter.append(exercise + "\n");
}

csvWriter.flush();
csvWriter.close();
System.out.println("题目已保存在exercises.csv中");
} catch (IOException e) {
e.printStackTrace();
}
}
}