2023/11/8 每日总结
今天完成了软件构造课后作业
请在课上练习的基础上,实现输出加减法混合的运算题目列表。请提交代码及运行效果截图。
使用面向对象的设计原则,设计源代码
package org.example; import java.util.Scanner; public class Main { public static void main(String[] args) { System.out.println("请输入生成的运算符 1 + 2 - 3加减混合"); Scanner scanner=new Scanner(System.in); int operator = scanner.nextInt(); System.out.println("请输入生成的题目数"); int num=scanner.nextInt(); Exercise exercise = new Exercise(num); SaveCsv saveCsv = new SaveCsv(); if(operator==1){ exercise.generateAdd(); exercise.printQuestion(); }else if (operator==2){ exercise.generateSub(); exercise.printQuestion(); }else{ exercise.generateMixed(); exercise.printQuestion(); } //saveCsv.save(exercise.getArrayList()); //System.out.println("结果保存在"+saveCsv.getPath()); } } package org.example; public class Equation { private int num1; private int num2; private int answer; private char operator; public int getNum1() { return num1; } public void setNum1(int num1) { this.num1 = num1; } public int getNum2() { return num2; } public void setNum2(int num2) { this.num2 = num2; } public int getAnswer() { return answer; } public void setAnswer(int answer) { this.answer = answer; } public char getOperator() { return operator; } public void setOperator(char operator) { this.operator = operator; } public Boolean isequal(Equation e){ if(this.num1==e.num1&&this.num2==e.num2&&this.operator==e.operator){ return true; }else if (this.num2==e.num1&&this.num1==e.num2&&this.operator==e.operator){ return true; } else{ return false; } } } package org.example; import java.util.ArrayList; import java.util.Random; public class Exercise { private ArrayList<Equation> arrayList= new ArrayList<Equation>(); private int num;//要生成的习题数量 public Exercise(int num) { this.num = num; } public ArrayList<Equation> getArrayList() { return arrayList; } public void setArrayList(ArrayList<Equation> arrayList) { this.arrayList = arrayList; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public Boolean checkRepeat(Equation equation){ for(Equation e:this.arrayList){ if(e.isequal(equation)){ return true; } } return false; } public void generateAdd() { int n=0;//生成的题数 while(num>n){ Equation equation = new Equation(); Random random = new Random(); equation.setNum1(random.nextInt(100)); equation.setNum2(random.nextInt(100)); equation.setAnswer(equation.getNum1()+equation.getNum2()); equation.setOperator('+'); if (!checkRepeat(equation)){ arrayList.add(equation); n++; } } } public void generateSub() { int n=0;//生成的题数 while(num>n){ Equation equation = new Equation(); Random random = new Random(); equation.setNum1(random.nextInt(100)); equation.setNum2(random.nextInt(100)); equation.setAnswer(equation.getNum1()-equation.getNum2()); equation.setOperator('-'); if (!checkRepeat(equation)){ arrayList.add(equation); n++; } } } public void generateMixed() { int n=0;//生成的题数 while(num>n){ Equation equation = new Equation(); Random random = new Random(); equation.setNum1(random.nextInt(100)); equation.setNum2(random.nextInt(100)); equation.setAnswer(equation.getNum1()-equation.getNum2()); equation.setOperator(random.nextInt(2)==1?'+':'-'); if (!checkRepeat(equation)){ arrayList.add(equation); n++; } } } public void printQuestion(){ //System.out.println(arrayList.size()); for(Equation e:arrayList){ System.out.println(String.valueOf(e.getNum1())+" "+e.getOperator()+" "+String.valueOf(e.getNum2())+" ="); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!