1. 定义一个四则运算符的字符数组,使用随机数方法每次产生1到3的随机数作为运算符个数,运算符的个数确定后操作数随之确定
  2. 用随机数方法Math.rabdom()产生确定范围内的随机数存入数组
  3. 同样使用随机数去取运算符,存放到一个数组里面
  4. 将操作数和运算符转成字符串存放到字符串数组,再将字符串数组转化成字符串,使用io流写入到文件中
  5. public static float opt(String s) throws Exception {if (s == null || "".equals(s.trim())) {return 0f;}int a1 = s.indexOf("+");int a2 = s.indexOf("-");int a3 = s.indexOf("*");int a4 = s.indexOf("/");int a5 = s.indexOf("(");if (a1 == -1 && a2 == -1 && a3 == -1 && a4 == -1) {if (s.trim() == null || "".equals(s.trim())) {throw new Exception("operate error");}return Float.parseFloat(s.trim());}if (a5 != -1) {int a6 = s.indexOf(")");if (a6 == -1) {throw new Exception("括号不匹配");} else {float f = opt(s.substring(a5 + 1, a6).trim());s = s.replace(s.substring(a5, a6 + 1), String.valueOf(f));return opt(s);}}if (a1 != -1) {return opt(s.substring(0, a1))+ opt(s.substring(a1 + 1, s.length()));}if (a2 != -1) {return opt(s.substring(0, a2))- opt(s.substring(a2 + 1, s.length()));}if (a3 != -1) {return opt(s.substring(0, a3))* opt(s.substring(a3 + 1, s.length()));}if (a4 != -1) {return opt(s.substring(0, a4))/ opt(s.substring(a4 + 1, s.length()));}return Integer.parseInt(s.trim());}

    使用以上的opt方法计算结果,该方法存在一些问题,比如计算结果没办法保留分数形式

  6. 目前只实现以上的功能

转载于:https://www.cnblogs.com/p-12/p/7535866.html

四则运算生成器做法思路相关推荐

  1. JEECG - 基于代码生成器的J2EE智能开发框架 续四: 查询条件SQL生成器设计思路

    JEECG[J2EE  Code Generation]是一款基于代码生成器的敏捷开发框架. 续前文:http://blog.csdn.net/zhangdaiscott/article/detail ...

  2. 小学四则运算生成器(Java实现)

    跳转详细介绍的博客:小学四则运算生成器(Java实现) 实现效果图: 开始运行程序 未输入生成题目数量及数值范围 输入数值 随机生成题目 用户输入并提交答案,后台将用户答案与正确答案进行校正,统计正确 ...

  3. 7-15 QQ帐户的申请与登陆 (25 分)(map做法+思路分析)

    一:题目 实现QQ新帐户申请和老帐户登陆的简化版功能.最大挑战是:据说现在的QQ号码已经有10位数了. 输入格式: 输入首先给出一个正整数N(≤10 ​5 ​​ ),随后给出N行指令.每行指令的格式为 ...

  4. 结队编程-基于gui的四则运算生成器

    成员:卢少锐 201421123027.刘存201421033023 coding.net地址 1.需求分析:除了实现四则运算的功能外,还添加了计时器功能和语言选择功能 2.程序设计:这次作业是基于上 ...

  5. CSS Sprites图片拼合生成器实现思路

    在对WEB前端做性能优化时,为了有效减少http请求数,通常会把Web用到的图片合并成一张大图,采用CSS的background-position 属性,控制页面的图片显示. 问题是,目前虽然有这么一 ...

  6. 结对编程1 - 四则运算生成器的改进(201421123040,60,61)

    题目要求 我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程序做成GUI(可以是Windows PC 上的,也可以是Mac.Linux,web,手机上的),成为一 ...

  7. 7-7 有重复元素的全排列 (10 分)(set容器做法思路加详解)

    一:题目 计算给定的n个数有多少种排列方式,即求全排列(可能出现重复的元素) 输入格式: 第一行输入数字的数量n(n>2),第二行给出每一个数字. 输出格式: 一个数字,不同排列方式的数量. 输 ...

  8. 7-47 打印选课学生名单 (25 分)(两种做法)(思路加详解+map+vector做法+最后一个点超时解决)+兄弟们冲丫丫

    一:题目 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000),为全校学生总数:K(≤ ...

  9. 结对编程1-基于GUI的四则运算生成器

    https://git.coding.net/kjc976118457/work2.git 201421123017 康建灿 201421123016 郑怀勇 一.需求分析 记录用户的对错总数. 程序 ...

  10. 【个人项目总结】四则运算生成器

    项目需求: 像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 "软件", 分别满足下面的各种需求.下面这些需求都可以用命令行参数的形式来指定: a) 除了整数以外,还 ...

最新文章

  1. Java集合篇:Map总结
  2. GitHub 的前世今生
  3. Leetcode--149. 直线上最多的点数
  4. php登录注册脚本,PHP - 登录脚本
  5. C# 声明方法关键字
  6. phonegap免费视频
  7. 从ASP.NET的PHP执行速度比较谈起
  8. python对象的深复制与浅复制
  9. python入门教程基础语法_python入门教程13-02 (python语法入门之库相关操作)
  10. 多智能体自主协同技术
  11. 你可以将类似于Google Earth的地球仪嵌入到自己的网站中
  12. 字面量long后面的大小写l
  13. 使用USB充电的5号电池
  14. Linux下PCB的task_struck结构体
  15. 顺丰快递 : 请收下 MySQL 灵魂十连
  16. 客户分享微信个人号私域流量池养号技巧:外部储蓄号、内部储蓄号应该如何分别运营和养号!...
  17. 微信H5公众号获取openid爬坑记
  18. pandas, dataframe获取最后一行的三种方法
  19. 三大世界级难题,等你来解答
  20. 首篇!基于全景相机的深度学习综述:全面回顾未来展望

热门文章

  1. Golang 返回errorString,而不是errorString的原因
  2. Windows中文编码显示问题集锦
  3. 从 Microsoft SQL Server 迁移到 Oracle
  4. 代码故事:汉德的救赎
  5. C++ 面向对象编程
  6. 有多大的大脑互联网正在开发社交网络
  7. 黑马程序员-JavaAPI-17天-4(Arrays)
  8. 如何在network monitor中查找试图建立TCP连接的帧?
  9. 用c#写的smtp邮件发送类
  10. 全部选中替换_一键解锁查找替换的新玩法!