代码链接:https://github.com/devilwjy/Code.Demo

需求分析:

1.程序可接收一个输入参数n,然后随机产生n道加减乘除练习题,每个数字在 0 和 100 之间,运算符在3个到5个之间。

2.每个练习题至少要包含2种运算符。

3.练习题在运算过程中不得出现负数与非整数,比如不能出 3/5+2=2.6,2-5+10=7等算式。

4.练习题生成好后,将学号与生成的n道练习题及其对应的正确答案输出到文件“result.txt”中,不要输出额外信息,文件目录与程序目录一致。

当程序接收的参数为4时,以下为输出文件示例:

功能设计:

1.从键盘输入一个数值,并生成相应数量的四则运算练习题。

2.数值的范围为1到100,运算符的范围是+,-,*,/。

3.数值的个数为3个,运算符的个数为2个。

4.运算过程中不得出现负数与非整数。

5.将学号、生成的四则运算练习题并及计算答案输出到名为“Result.txt”的文档中。

设计实现:

测试运行:

核心代码:

以第一个运算符为“/”为例

1 //第一个运算符为“/”

2 else{3 if(data1%data2==0 && data2!=0)//判断data1能否被data2整除,且除数data2不能为0

4 {5 if(operator[num2]=="+")//乘除的优先级高于加减,所以可以顺着往下计算

6 {7 result=data1/data2+data3;8 System.out.println(str+"="+result);9

10 }11 else if(operator[num2]=="-")12 {13 if(data1/data2>=data3)//判断data1/data2的商是否大于data3

14 {15 result=data1/data2-data3;16 System.out.println(str+"="+result);17

18 }19 else{20 number++;//不符合条件就将表达式的个数加1,进行下一个表达式的计算

21 }22 }23 else if(operator[num2]=="*")24 {25 result=data1/data2*data3;26 System.out.println(str+"="+result);27

28 }29 else{30 int result1=data1/data2;31 if(result1%data3==0 && data3!=0)//判断data1/data2的商能否整除data3,且data3不能为0

32 {33 result=data1/data2/data3;34 System.out.println(str+"="+result);35

36 }37 else{38 number++;39 }40 }41 }42 else{43 number++;44 }45 }

总结:

本次实验我的实现过程很简单,而且有很大的局限性,只能生成含有三个数、两个运算符的四则运算练习题。一开始我的想法是将随机生成的四则运算放在一个字符串里,根据逆波兰式运算,将中缀表达式转换成后缀表达式,然后存储在栈中,但是最后没能成功,只好用一种极为简单的方式实现这个实验。说来有些惭愧,有点投机取巧之嫌,不过我的编程能力很差,纵然仔细研究了网上博客中的代码,还是写不出想要实现的方法。虽然很遗憾,但我也只能做到这儿了,不能说问心无愧,只能表明以前用的功太少了,以后回尽力改正,养成良好的习惯。

PSP

任务内容

计划完成需要的时间(min)

实际完成需要的时间(min)

Planning

计划

10

12

Estimite

估计任务所需时间,并规划大致工作步骤

10

15

Development

开发

100

120

Analysis

需求分析 (包括学习新技术)

8

6

Design Spec

生成设计文档

6

5

Design Review

设计复审(和同事审核设计文档)

6

5

Coding Standard

代码规范(为目前的开发指定合适的规范)

5

5

Design

具体设计

12

14

Coding

具体编码

40

46

Code Review

代码复审

12

15

Test

测试(自我测试,修改代码,提交修改)

15

12

Reporting

报告

12

10

Test Report

测试报告

5

5

Size Measurement

计算工作量

3

3

Postmortem & Process Improvement Plan

事后总结,并提出过程改进计划

5

8

java 生成随机加减乘除_用Java随机生成四则运算相关推荐

  1. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  2. java 邮箱地址生成器_关于java:生成随机电子邮件

    你能帮帮我吗??如何使用JAVA使用硒生成随机电子邮件?? 我在StackOverflow中查看这里,但还没有找到答案.我试过了,但没用 电子邮件地址还是真盒子? 如果你只想发电子邮件,就不需要硒了. ...

  3. java课程 数独 文库_一次数独生成及求解方案的剖析(Java实现)

    数独生成及求解方案剖析(Java实现) 关键词 数独9x9 数独生成 数独解题 序言 最近业务在巩固Java基础,编写了一个基于JavaFX的数独小游戏(随后放链接).写到核心部分发现平时玩的数独这个 ...

  4. java图片头像代码_用Java和OpenCV生成Github默认头像

    前言 刚刚过完年,把这样那样的事情忙完,就赶紧把博客剩下的主要功能都先做完了,感觉一身轻松. 闲下来了就抽空看看Github上的项目,偶然间发现Github的默认头像很有特色,它并不像其它的网站一样使 ...

  5. java注解的开发_使用Java注解开发自动生成SQL

    使用注解开发的好处就是减少配置文件的使用.在实际过程中,随着项目越来越复杂,功能越来越多,会产生非常多的配置文件.但是,当配置文件过多,实际维护过程中产生的问题就不容易定位,这样就会徒劳的增加工作量. ...

  6. java用流体加减乘除_任意输入两个数,完成加法、减法、乘法、除法运算!(加减乘除运算分别定义四个方法)_学小易找答案...

    [简答题]编写程序实现菜单设计 [简答题]一层平面图 [简答题]编写一个程序实现大小写字母转换 [简答题]利用循环语句输出一个五行的等腰三角形,如下图 [简答题]编写一个程序实现交换两个变量的数值. ...

  7. java编译后生成字节码_请问java源文件编译后怎么生成字节码文件?

    比如,有的java源程序生成一个字节码文件,带有内部类的生成两个.可是有一种情况怎么回事呢?importjava.awt.*;importjavax.swing.*;importjava.awt.ev ...

  8. java代码自动生成的插件_如何使用插件生成自定义Java 8代码

    java代码自动生成的插件 大多数程序员讨厌的一件事就是编写样板代码. 无休止的时间花费在设置实体类和配置数据库连接上. 为了避免这种情况,您可以让Speedment Open Source之类的程序 ...

  9. java 生成pdf 乱码_利用java处理fop导出pdf的中文乱码问题解决方案

    本文的作用是,生成带中文的加密pdf格式的文件,防止被人修改. 在项目下建立docbook-xsl, fo-res, out, sample四个文件夹 docbook-xsl目录: 放从sourcef ...

  10. Java异常处理深入理解_关于java异常处理机制的深入理解.doc

    关于java异常处理机制的深入理解.doc 关于JAVA异常处理机制的深入理解1引子TRYCATCHFINALLY恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过 ...

最新文章

  1. php 判断时间超过5分钟_小学音乐20分钟试讲面试,只有5天复习时间可以逆袭吗?...
  2. 如何在HTTP POST请求中发送参数?
  3. 先了解一下Shiro安全框架
  4. php 调用 perl,perl中如何调用R语言
  5. 宏块帧内预测的具体过程
  6. 商汤使用AutoML设计Loss函数,全面超越人工设计
  7. 最新《机器学习最优化》课程笔记,38页pdf,Optimization for Machine Learning
  8. PLSQL_案例优化系列_明白索引是如何让SQL运行飞快(案例5)
  9. JAVA包装类及自动封包解包示例代码
  10. hadoop 集群间数据迁移
  11. mysql gis vs postgis_mysql空间扩展VSPostGIS
  12. 生活杂谈-空调的修理
  13. 阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_4 Mybatis中使用Dao实现类的执行过程分析-查询方法...
  14. iOS 学习 - 24.全局跑马灯,支持后台回到前台
  15. 华为认证HCNA知识点
  16. Jquery 提交表单
  17. “时间复杂度”的另类解释
  18. Autoit+selenium+python实现文件上传功能
  19. 【tkGo】将Excel里的图片链接替换为图片(Excel嵌入图片)
  20. 外卖O2O硝烟初起 巨头们各自是啥思路?

热门文章

  1. 【路由篇】01. 电脑远程访问小米路由器硬盘文件
  2. 一个老网络工程师给年轻工程师的十大忠告!
  3. unity动画之帧动画使用
  4. unity ps4 下碰到的坑
  5. 大智慧公式系统:条件选股之K线形态选股
  6. dell商务计算机主机闪烁黄灯,戴尔电脑开不了机 已经几天了 主机灯橙色 闪闪的...
  7. java中如何添加画板背景图,几何画板中如何添加背景图片
  8. 64位计算机安装32位,告诉你64位电脑怎么装32位系统
  9. android恢复出厂设置流程图,Android recovery模式
  10. Java之字符串数组元素的排列与组合(递归实现)