欢迎访问 如意编程网!

如意编程网

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

【软件构造-java编写】生成50道100以内加法/减法算式的习题,并输出。(和不能超过100,差不能小于0)

发布时间:2024/5/15 编程问答 2 豆豆
如意编程网 收集整理的这篇文章主要介绍了 【软件构造-java编写】生成50道100以内加法/减法算式的习题,并输出。(和不能超过100,差不能小于0) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

原题

  • (论述题)
  • 生成50道100以内加法/减法算式的习题,并输出。

    (1)每个算式还需要答案;
    (2)加法算式的和不能超过100;
    (3)减法算式的差不能小于0;
    (4)每行整齐地多显示几个算式,不必频繁地下拉屏幕看算式。

    提交编写的代码和运行结果截图。

    代码

    为了使得代码提高可读性,使用了枚举,有关java中怎样随机访问enum可参考以下链接:

    https://bbs.csdn.net/topics/320121564 package chapter02.commit;/*** Created by IntelliJ IDEA.* Author: hmxn* Date And Time: 2022/3/13 20:21* describe: 表示计算符号的枚举类**/ public enum OP {ADD, SUB } package chapter02.commit;/*** Created by IntelliJ IDEA.* Author: hmxn* Date And Time: 2022/3/13 19:53* describe: 算式 Bean 类**/ public class Equation {private int lNum; // 左边的数字private int rNum; // 右边的数字private OP op; // 运算符private int ans; // 答案/*** 传入两个数字和运算符得到答案 ans* @param lNum* @param rNum* @param op*/public Equation(int lNum, int rNum, OP op) {this.lNum = lNum;this.rNum = rNum;this.op = op;if (OP.ADD==op) {this.ans = lNum + rNum;} else if (OP.SUB==op) {this.ans = lNum - rNum;}}/*** 格式化输出* @return 格式规整的带有答案的计算式*/@Overridepublic String toString() {return String.format("%3d %s %-3d = %3d", lNum, OP.ADD==op?"+":"-", rNum, ans);} } package chapter02.commit;import java.util.ArrayList; import java.util.List; import java.util.Random;/*** Created by IntelliJ IDEA.* Author: hmxn* Date And Time: 2022/3/13 19:49* describe: 主函数在此处,输出题目要求结果**/ public class GenerateEquation {public static void main(String[] args) {int lNum;int rNum;OP[] ops = OP.values(); // 获得计算符号枚举数组OP op;Random random = new Random();List<Equation> equations = new ArrayList<>();// 得到50个符合题目要求的计算式for (int i = 0; i < 50; i++) {do {lNum = random.nextInt(100) + 1; // 获得随机数[0,100]rNum = random.nextInt(100) + 1; // 获得随机数[0,100]op = ops[random.nextInt(ops.length)]; // 获得计算符号枚举数组中的随机值} while ((lNum + rNum > 100) || (lNum - rNum < 0)); // 和>100或差<0会再次循环equations.add(new Equation(lNum, rNum, op)); // 将符合条件的计算式添加到集合}// 按一定格式输出50个计算式int cnt = 0;for (Equation equation : equations) {if (cnt % 5 == 0) {System.out.println("");} else {System.out.print(equation+" ");}cnt++;}}}

    运行结果

    总结

    以上是如意编程网为你收集整理的【软件构造-java编写】生成50道100以内加法/减法算式的习题,并输出。(和不能超过100,差不能小于0)的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得如意编程网网站内容还不错,欢迎将如意编程网推荐给好友。