2023/11/7 每日总结
今天完成了软件构造课后作业
请完善课上的口算题卡代码,实现重复题目的检测、题目数字范围、加减乘除算式的参数化等扩展功能,提交代码和运行截图。
import java.util.HashSet; import java.util.Random; import java.util.Scanner; import java.util.Set; public class Test { private static Set<String> question_set=new HashSet<>(); public static void main(String[] args) { try { System.out.println("请输入算术题个数"); Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); System.out.println("请输入数的范围"); int bound=scanner.nextInt(); System.out.println("请输入1.加减 2.乘除3.加减乘除"); int op=scanner.nextInt(); pratice(n,bound,op); print(); } catch (Exception e){ e.printStackTrace(); } } public static String operator(int op){ Random random = new Random(); int r = random.nextInt(100); if(op==1){ switch (r%2){ case 0: return "+"; case 1: return "-"; } } if(op==2){ switch (r%2){ case 0: return "*"; case 1: return "/"; } } if(op==3){ switch (r%4){ case 0: return "+"; case 1: return "-"; case 2: return "*"; case 3: return "/"; } } return ""; } public static void pratice(int n,int bound,int opeartor){ try { while(true){ if(question_set.size()==n){ break; } Random random = new Random(); int left = random.nextInt(bound); int right=random.nextInt(bound); String s=left+operator(opeartor)+right+"="; if(!question_set.contains(s)){ question_set.add(s); }else { continue; } } }catch (Exception e){ System.out.println("你的输入参数出现了问题,请重新输入"); } } public static void print(){ for (String s :question_set){ System.out.println(s); } } }