打印四则运算题目的“软件”
时间:2021-09-19
本文章向大家介绍打印四则运算题目的“软件”,主要包括打印四则运算题目的“软件”使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
(1)题目要求
1.题目避免重复;
2.可定制(数量/打印方式);
3. 输入大的数量值,测试一下系统是否崩溃,反向查找系统是否优化的余地;
4.定制操作数的个数;
5.定制是否有乘除法;
6.定制是否有括号(随机加入);
7.定制数值范围(确定操作数的取值范围);
(2)源代码
package sizeyunsuan; import java.util.*; public class sizeyunsuan { public static int[] randomCommon(int n,int min, int max) //生成随机数 { int[] result = new int[n]; int count = 0; while(count < n) { int num = (int) (Math.random() * (max - min)) + min; boolean flag = true; for (int j = 0; j < n; j++) { if(num == result[j]){ flag = false; break; } } if(flag){ result[count] = num; count++; } } return result; } public static char fh(int panduan) //生成随机运算符 { Random r = new Random(); int yunsuanfu= r.nextInt(100); char fh=' '; if(panduan==1) //有乘除 { switch(yunsuanfu%4) { case 0:fh='+';break; case 1:fh='-';break; case 2:fh='*';break; case 3:fh='/';break; } } else if(panduan==2) //无乘除 { switch(yunsuanfu%2) { case 0:fh='+';break; case 1:fh='-';break; } } return fh; } public static void main(String[] args) { System.out.println("请输入题目个数:"); Scanner input = new Scanner(System.in); int num=input.nextInt(); System.out.println("请输入操作个数(1.两个 2.三个)"); int czs=input.nextInt(); System.out.println("请输入数值范围:"); int a=input.nextInt(); int b=input.nextInt(); if((b-a)<num*(czs+1)) //系统崩溃条件 { System.out.println("系统崩溃!"); System.exit(0); } System.out.println("是否需要乘除运算(1.是 2.否)"); int cc=input.nextInt(); Random r = new Random(); int x,y,z; if(czs==1) //操作数为2时 { int []arr1 =randomCommon(num*2,a,b); for(int i=0;i<num*2;i++) { x=arr1[i]; y=arr1[i+1]; i++; System.out.println(""+x+fh(cc)+y+"="); } } else if(czs==2) //操作数为3时 { System.out.println("是否需要括号运算(1.是 2.否)"); int kh=input.nextInt(); int []arr2 =randomCommon(num*3,a,b); for(int i=0;i<num*3;i++) { x=arr2[i]; y=arr2[i+1]; z=arr2[i+2]; i+=2; if(kh==1) //随机加括号 { int kuohao= r.nextInt(99); switch(kuohao%2) { case 0:System.out.println("("+x+fh(cc)+y+")"+fh(cc)+z+"=");break; case 1:System.out.println(""+x+fh(cc)+"("+y+fh(cc)+z+")=");break; case 2:System.out.println(""+x+fh(cc)+y+fh(cc)+z+"=");break; } } else if(kh==2) //无括号 { System.out.println(""+x+fh(cc)+y+fh(cc)+z+"="); } } } } }
(3)问题&措施
1.问题:输出部分显示如下第一个数后的运算符无法显示
措施:此处主要是由于java输出中“+”的运用问题,若输出开始无引用输出,系统会自动认为输出“+”相连变量的和,而非分别输出变量。
因此只需在输出开头加上“ ""+ ”即可。
原文地址:https://www.cnblogs.com/qiuyutingyyds/p/15310098.html
- 博弈论入门之威佐夫博弈
- jQuery插件 -- Form表单插件jquery.form.js
- PHP验证手机号码和归属地 PHP函数代码
- 浅谈PHP 5中垃圾回收算法的演化
- POJ 2484 A Funny Game(智商博弈)
- php pathinfo()的用法
- BZOJ 1874: [BeiJing2009 WinterCamp]取石子游戏(SG函数)
- 微信公众平台开发
- BZOJ 1115: [POI2009]石子游戏Kam (阶梯nim)
- php性能监测模块XHProf
- BZOJ 1022: [SHOI2008]小约翰的游戏John (Anti-nim)
- 洛谷P2252 取石子游戏(威佐夫博弈)
- HDU 3032 Nim or not Nim?(Multi-Nim)
- POJ 2311 Cutting Game(二维SG+Multi-Nim)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 移动端跨平台技术之下的变与不变
- java-JDBC操作Mysql
- 【深度知识】25种区块链共识算法全面详解
- 聊聊 resolv.conf 中 search 和 ndots 配置
- 数据库-实验二
- Rust Stable 1.45 中的 神奇 Bug 解读
- 快速提升Python数据分析能力的七个神奇方法
- 策略模式 - go篇
- bootstrapValidator的使用
- 工作队列
- O、Θ、Ω、o、ω,别再傻傻分不清了!
- SpringBoot一1(初次使用)+HelloWord
- 到底什么才是真正的空间复杂度?
- RabbitMQ都写了,RocketMQ怎么能落下?
- dotnet ConcurrentDictionary 的 GetOrAdd 性能比 TryGetValue 加 TryAdd 低