个人项目-小学四则运算 “软件”之初版

news/2024/7/3 1:49:46

本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2166

我的github远程仓库的地址:https://github.com/yanyuluu/yanyuluu/tree/master/ruanjiangc

第一部分:要求

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

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

PSP2.1Personal Software Process StagesTime Senior StudentTime
Development开发4046
· Analysis需求分析 (包括学习新技术)1213
· Design Spec生成设计文档  
· Design Review设计复审  
· Coding Standard代码规范35
· Design具体设计67
· Coding具体编码3541
· Code Review代码复审33
· Test测试(自我测试,修改代码,提交修改)78
Reporting报告23

 

 三、代码提交

产生随机数的运算,先让用户输入产生的四则运算个数,判断是否输入有误,用循环设置随机产生至少3个运算整数,然后逐一存进数组,最后生成运算数再输出。

//产生随机运算式static ScriptEngine js = new ScriptEngineManager().getEngineByName("JavaScript");public static void creatNumber(){boolean flag=true;int num=0;do {System.out.print("输入需要产生的四则运算的个数:");Scanner arith_num = new Scanner(System.in);num=arith_num.nextInt();if(num>=1) {flag = true;}else {flag=false;System.out.println("输入有误");}}while(flag==false);ArrayList<String> arithList = new ArrayList<String>();//运算式for(int i=0;i<num;i++){//产生3~5个运算数int num_number = 0;Random n = new Random();num_number = n.nextInt(3)+3;String arr = "";for(int j=0;j<num_number;j++){int number = getNumber();String operator = String.valueOf(getOperator());arr += number + operator;}arr =arr.substring(0,arr.length()-1);//将arr转化为数组char[] arr_str = arr.toCharArray();String arrString = "";ArrayList<String> arrslist1 = new ArrayList<String>();ArrayList<String> arrslist2 = new ArrayList<String>();ArrayList<String> arrslist = new ArrayList<String>();//生成运算式String[] arrs1 = arrslist1.toArray(new String[arrslist1.size()]);//运算符String[] arrs2 = arrslist2.toArray(new String[arrslist2.size()]);//运算数

这是产生随机数和随机产生运算符号的函数代码

//产生随机数public static int getNumber(){int number = 0;Random num = new Random();number = num.nextInt(100+1);return number;}//随机产生运算符号public static char getOperator(){char operator = 0;Random ran = new Random();int i = ran.nextInt(4);switch(i){case 0:operator = '+';break;case 1:operator = '-';break;case 2:operator = '*';break;case 3:operator = '/';break;}return operator;}

 

四、博文

由于基础不过关,只能实现基础要求,让用户输入题目的数量,程序便执行并给出相应数量的题目和答案。

需求分析:

(1)随机产生 100 之内的正整数的题目。
(2)答案不能是负数。
(3)题目数根据用户而定。
(4)运算式子必须至少有两个运算符。

 构思设计:主要是设一个类用于产生随机数,再设一个类用于产生随机符号,还有一个类把运算过程算出并输出题目与答案

遇到的问题很多,无法调用分数的函数,我是按照基本要求让用户输入题目数量然后自动生成四则运算的题目和答案,并没有让用户输入答案再判断对错的。不知道怎么修改才能实现拓展要求。

总结:要做出一个好的代码真的不容易,需要扎实的基础和实力,但是我的能力不够,还是需要多看看书本的知识,多观摩和学习练习,吸收经验,才能将这门专业学得比较好。

测试的时候可以判断输入的四则运算个数是否为正整数,并自动算出相对应的题目和答案。以下是运算结果的截图:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/lxyu/p/9763942.html


http://lihuaxi.xjx100.cn/news/236105.html

相关文章

单例测试模式中【饿汉式】与【懒汉式】的区别

package day25.thread;/** /*** author Mr Chen* create 2018-10-09 18:37* 单例测试模式&#xff1a;保证类在内存中只有一个对象*/ public class Dome01 {public static void main(String[] args){Singleton s1 Singleton.s; //成员变量被私有&#xf…

Python基础10-函数基础

目录 函数的定义 函数的返回值 函数的参数 参数的传递 参数的默认值 可变长参数 全局变量与局部变量 函数嵌套定义 风湿理论——函数即变量 函数的定义 定义函数的关键字def。函数名&#xff0c;本例函数名是test。小括号里面是参数。冒号后缩进的代码块是函数内容。…

电脑录音软件哪个好,怎么用电脑录音

如今科技迅速发展&#xff0c;不仅唱歌的时候喜欢录音&#xff0c;就连追剧看电视都喜欢把一些经典或者搞笑的音频录制下来&#xff0c;很多喜剧给我们的休闲时光带来了欢声笑语&#xff0c;碰到经典的对话或者旁白总想录制下来&#xff0c;那电脑录音软件哪个好&#xff0c;怎…

Python基础11-函数式编程与内置函数

目录 函数即变量 lambda关键字定义匿名函数 高阶函数 内置函数map 内置函数filter 内置函数reduce 内置函数看文档 函数即变量 书接上回&#xff0c;Python里面&#xff0c;函数就是变量&#xff0c;可以被当成普通变量一样作为返回值&#xff0c;调用。 def foo():pr…

排序学习之---快速排序

一、前言 快速排序是一种交换排序&#xff0c;它由C. A. R. Hoare在1962年提出。 二、算法思想 快速排序的基本思想是&#xff1a;通过一趟排序将要排序的数据分割成独立的两部分&#xff1a;分割点左边都是比它小的数&#xff0c;右边都是比它大的数。 然后再按此方法对这两部…

vue问题

问题一&#xff1a;我在打包完成后&#xff0c;打开index.html文件发现地址并没有携带路由。去config文件夹下的index.js中寻找问题。index.js中的build命令的配置有一个属性叫assetsPublicPath&#xff0c;它的值为‘/’。意思是根目录&#xff0c;这时会从index.html所在的硬…

填报表中也可以添加 html 事件

在实际的项目开发中&#xff0c;填报表的应用十分广泛。 多数情况下&#xff0c;填报表会作为整个项目的一部分配合需求灵活使用&#xff0c;但有时也会受大项目环境的影响&#xff0c;产生一些特别的要求。比如&#xff0c;通常报表单元格的数据类型大多是文本&#xff0c;有时…

Python基础12-常用的内置函数

abs 取绝对值&#xff0c;数学上的绝对值 print(abs(-1)) all 接收一个可迭代参数。如果里面有一个False的元素&#xff0c;那么返回值就是False&#xff0c;否则返回True&#xff0c;类似逻辑“与”。如果可迭代参数本身为空&#xff0c;那么返回True。需要记住什么是Fals…