博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第三次作业 四则运算
阅读量:4970 次
发布时间:2019-06-12

本文共 3920 字,大约阅读时间需要 13 分钟。

作业要求地址:

github地址:

前言:

  上软件工程课中出现了一道例子,即阿超做了一个简单的四则运算用于给他儿子出题,为了练手,将在于此模仿阿超将简单的四则运算做出来,该四则运算为初步版本,仅仅包含正整数的加减乘除,不包括括号。

题目要求:

 

  任何编程语言都可以,命令行程序接受一个数字输入,然后输出相应数目的四则运算题目和答案。例如输入数字是 30, 那就输出 30 道题目和答案。 运算式子必须至少有两个运算符,运算数字是在 100 之内的正整数,答案不能是负数。 如:23 - 3 * 4 = 11

所用版本:

  操作系统:windows10

  开发环境:intellij IDEA

  开发语言:java

 实现思路:

  让系统随机生成两个运算符,和生成三个数0-100的数,拼接成四则运算式。如果有/,则被除数不能为0,根据被除数,生成除数。

个人软件过程耗时估计与统计表:

 

Personal Software Process Stages Time Senior Student Time
计划 2 3
估计这个任务需要多少时间 4 6
开发 1 2
需求分析 (包括学习新技术) 0.5 0.5
生成设计文档 0.5 0.5
设计复审 0.5 0
代码规范 0 0.5
具体设计 0.5 0.5
具体编码 1 2
代码复审 0.5 0.5
测试(自我测试,修改代码,提交修改) 0.5 0.5
报告 0.5 0.5
测试报告 0.5 0.5
计算工作量 2 2
并提出过程改进计划 1 1

 

实现代码:

public class Arithmetic {
private static int a; private static int b; private static int c; private static String symbolA; private static String symbolB; public static void main(String[] args) {
int result = 0; System.out.println("请输入题目数量:"); int scan = new Scanner(System.in).nextInt(); for (int i = 0; i < scan; i++) {
a = (int) (Math.random() * 100); b = (int) (Math.random() * 100); c = (int) (Math.random() * 100); symbolA = randomSymbol(); symbolB = randomSymbol(); if (symbolA.equals("/")) {
b = (int) (Math.random() * 100) + 1; a = b * ((int)(Math.random() * 100)); while (a > 100) {
a = b * ((int)(Math.random() * 100)); } if(symbolB.equals("/")){
c = (int) (Math.random() * 100) + 1; while ((a/b)%c!=0){
c = (int) (Math.random() * 100) + 1; } } } if(symbolA.equals("*")&&symbolB.equals("/")){
c = (int) (Math.random() * 100) + 1; while ((a*b)%c!=0){
c = (int) (Math.random() * 100) + 1; } } if((symbolA.equals("+")||symbolA.equals("-"))&&symbolB.equals("/")){
c = (int) (Math.random() * 100) + 1; b = c * ((int)(Math.random() * 100)); while (b > 100) {
b = c * ((int)(Math.random() * 100)); } } result = calculate(a, b, c, symbolA, symbolB); if (result < 0) {
i--; continue; } String equaltion = a + symbolA + b + symbolB + c + "="; System.out.println(equaltion); if(result==new Scanner(System.in).nextInt()){
System.out.println("答案正确"); }else {
System.out.println("答案错误"); System.out.println("正确答案是:"+result); } System.out.println(result); } System.out.println(calculate(1, 60, 49, "*", "/")); } public static int calculate(int a, int b, int c, String symbolA, String symbolB) {
int result = 0; if ((symbolA.equals("+") || symbolA.equals("-")) && (symbolB.equals("*") || symbolB.equals("/"))) {
if (symbolB.equals("*")) {
result = (b * c); } else if (symbolB.equals("/")) {
if(c==0) return -1; result = (b / c); } if (symbolA.equals("-")) {
result = a - result; } else {
result = a + result; } } else {
if (symbolA.equals("+")) {
result = (a + b); } else if (symbolA.equals("-")) {
result = (a - b); } else if (symbolA.equals("*")) {
result = (a * b); }else {
if(b==0) return -1; // if(a

运行结果:

 

 

 

转载于:https://www.cnblogs.com/97lzc/p/9765606.html

你可能感兴趣的文章
数据库三范式
查看>>
看完漫画秒懂区块链
查看>>
开发工具,做一个有效率的开发者
查看>>
对Haskell这门语言的基本认识
查看>>
mysql 安装补充
查看>>
大学里如何学习 ?
查看>>
Oracle命令类别
查看>>
js面试题:关于数组去重的四种方法总结
查看>>
Linux内核分析(三)----初识linux内存管理子系统
查看>>
stc12c5a60s2驱动TEA5767收音机模块硬件调试总结
查看>>
vue中提示$index is not defined
查看>>
Java中对List集合内的元素进行顺序、倒序、随机排序的示例代码
查看>>
css选择器
查看>>
看懂下面C++代码才说你理解了C++多态虚函数!
查看>>
ASP.NET上传下载文件
查看>>
Galaxy Nexus 全屏显示-隐藏Navigation Bar
查看>>
Mob-第三方分享 /手机验证码
查看>>
Spring中使用Velocity模板
查看>>
实现model中的文件上传FTP(一)
查看>>
MonkeyRecorder
查看>>