作业1---四则运算

   一.需求分析:

除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24

运算符为 +, −, ×, ÷

并且要求能处理用户的输入,并判断对错,打分统计正确率。

要求能处理用户输入的真分数, 如 1/2, 5/12 等

使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目。

 

 二.功能设计:

根据所写的代码,随机生成数字以及运算符号,并且组合成式子。

能生成分数,并且是最简分数。

输入计算结果后,如正确,输出正确,错误,则输出正确答案,并且能统计出错的题目个数。

   

三.设计实现:

此次实验,设置了4个class,主类--Main用来调用其他类,负责输入输出,判定结果以及统计错误个数

                                    类--result 计算

                                    类--fenshu 求最大公约数

                                    类--qqq用来生成的式子

 

四.代码说明:

主要的是main和qqq两个类

main类:用循环语句来计算错误的个数,当number=0时,则跳出循环错误个数加1.

import java.util.Scanner;
public class Main {static randomqqq rand = new randomqqq();static result end = new result();public static void main(String[] args) {int number = 0;int falseNum = 0;String userresult, trueresult, fenzi, fenmu;Scanner in = new Scanner(System.in);System.out.print("输入随机生成的式子个数:");number = in.nextInt();for (; number != 0; number--) {rand.randTest();System.out.println("你输入的答案是:");Scanner result = new Scanner(System.in);userresult = result.nextLine();trueresult = Integer.toString(rand.result);if (rand.m == 0 && rand.randNum != 3) {trueresult = Integer.toString(rand.result);} else {trueresult = Integer.toString(rand.fenzi) + "/" + Integer.toString(rand.fenmu);}if (userresult.equals(trueresult)) {System.out.println("答案正确!");} else {falseNum++;System.out.println("答案错误!  正确的答案:" + trueresult);}}System.out.println("错误的个数:" + falseNum);}
}

 

类qqq:选择参数,计算出式子

int temp1 = yuefen.getnumber(a, c);int temp2 = yuefen.getnumber(b, d);int temp4 = yuefen.getnumber(a, b);        int fz = end.up(a, b, c, d, randNum);int fm = end.fenmu(a, b, c, d, randNum);int temp3 =yuefen.getnumber(fz,fm) ;switch (m) {case 0:if (b == 0 && randNum == 3)System.out.println(b + " " + ch[randNum] + " " + a + " " + "=");elseSystem.out.println(a + " " + ch[randNum] + " " + b + " " + "=");break;case 1:System.out.println(a / temp1 + "/" + c / temp1 + " " + ch[randNum] + " " + b / temp2 + "/" + d / temp2 + " " + "=");break;}if (m == 0 && randNum != 3)result = end.result1(a, b, randNum);else if (m == 0 && randNum == 3) {fenzi = a / temp4;fenmu = b / temp4;} else {fenzi = fz/ temp3;fenmu = fm / temp3;}

 

 

五.测试运行:

PSP:

PSP2.1

Personal Software Process Stages

Time (%) Senior Student

Time (%)

Planning

计划

8

5

· Estimate

估计这个任务需要多少时间

20

5

Development

开发

25

20

· Analysis

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

5

5

· Design Spec

生成设计文档

5

5

· Design Review

设计复审

0

0

· Coding Standard

代码规范

3

3

· Design

具体设计

10

15

· Coding

具体编码

50

40

· Code Review

代码复审

5

5

· Test

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

10

15

Reporting

报告

5

5

·

测试报告

1

1

·

计算工作量

2

5

·

并提出过程改进计划

3

2

 

实验总结:

 在编程之前,需要思考好可能忽略的问题以及可能出现的问题,比如此次实验,分数需要最简化,分数中,分母不为0的情况。计算错误的题数时,如何设计循环语句使其能够正确计算个数,生成式子时可能会出现错误的式子,式子的格式要规范等问题。有问题自己积极思考,思考不出来呢就问百度,找同学。 编程需要一步一步训练,才能有所进步。

 

转载于:https://www.cnblogs.com/lasolitude/p/6514118.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396553.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Lesson 001 —— 数据

Lesson 001 —— 数据 数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材。数据是信息的表现形式和载体,可以使符号、文字、数字、语音、图像、视频等。 进制 进制也就是进…

sql三个表join_「数据蒋堂」第 31 期:JOIN 简化 – 维度对齐

【数据蒋堂】第 31 期:JOIN 简化 – 维度对齐我们先把上一期中双子表对齐例子的 SQL 写出来:SELECT Orders.id, Orders.customer, A.x, B.y FROM Orders LEFT JOIN (SELECT id,SUM(price) x FROM OrderDetail GROUP BY id ) A ON Orders.idA.id LEFT J…

python-3.6.2安装

1、下载python-3.6.2-amd64.exe安装包 官网下载地址:https://www.python.org/ 2、Python安装,双击傻瓜式安装(用英文路径,不要有空格), 特别要注意勾上Add Python 3.6 to PATH(勾选后&#xff0…

vc mysql init 崩溃_故障分析 | 崩溃恢复巨慢原因分析

作者:xuty本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。一、现象有个 MySQL 5.7 开发库异常挂掉后,奔溃恢复一直处于如下位置,且持续了 2 小时左右才起来…

surfaceview结束后怎么处理_污泥压滤机处理后的污泥怎么处置

在污泥处理处置中,污泥压滤机处理污泥只是对污泥进行脱水,并没有实现污泥资源化处置。再进行污泥“减量化、无害化、资源化”处理时,许多企业用污泥压滤机对污泥脱水处理后就不知道怎么继续处置了,从而使污泥饼无处可去&#xff0…

js数组详解

1,什么是数组数组是值得有序集合,每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引。js的数组是无类型的,数组元素可以是任意类型,同一个数组中的不同元素可能是对象或数组…

[转载]linux内存映射mmap原理分析

转自:http://blog.csdn.net/yusiguyuan/article/details/23388771 内存映射,简而言之就是将用户空间的一段内存区域映射到内核空间,映射成功后,用户对这段内存区域的修改可以直接反映到内核空间,同样,内核空…

冒泡、快速排序小结

1.冒泡排序 (1) 比较领近的两个数 (2) 如果左边的比右边的数字大,则交换位置 (3) 向右移动一位,继续比较相邻的两个数 排序示例: 一轮排序结束后,最大值的位置已经移动最右端,再次如此循环,最终经过n-1次则…

synchronized 异常_由浅入深,Java 并发编程中的 Synchronized

synchronized 作用synchronized 关键字是 Java 并发编程中线程同步的常用手段之一。1.1 作用:确保线程互斥的访问同步代,锁自动释放,多个线程操作同个代码块或函数必须排队获得锁,保证共享变量的修改能够及时可见,获得…

Linux内存分配机制之伙伴系统和SLAB

转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6539590.html 内核内存管理的一项重要工作就是如何在频繁申请释放内存的情况下,避免碎片的产生。这就要求内核采取灵活而恰当的内存分配策略。通常,内存分配一般有两种情况&#xff1a…

this.$modal.confirm 自定义按钮关闭_自定义函数,让你玩转Excel得心应手

让“自动更正”输入统一的文本,你是不是经常为输入某些固定的文本,如《电脑报》而烦恼呢?那就往下看吧。1.执行“工具→自动更正”命令,打开“自动更正”对话框。2.在“替换”下面的方框中输入“pcw”(也可以是其他字符,“pcw”用小写),在“替换为”下面的方框中输…

CCF-CSP 最大的矩形

问题描述在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。请找出能放在给定直方图里面积最大的矩…

MySQL的主从复制云栖社区_MySQL-主从复制

前言前篇说了作为运维在数据库块最起码要会两大技能,今天来说说第二技能--主从复制随着业务的增长,一台数据库服务器以满足不了需求了,负载过重,这时候就需要减压,实现负载均衡读写分离,一主一从或一主多从…

mysql 数据分析的步骤_数据分析8个主要步骤

# 在对数据进行分析时,主要细分为明确目标、应用思维和如下8个具体步骤:1、读取数据2、清洗数据3、操作数据4、转换数据5、整理数据6、分析数据7、展现数据8、总结报告接下来将介绍使用python来具体处理数据,包括上面几个步骤的实现&#xff…

一、win7下安装yii2

作者:PHP学习网 出处:http://www.viphper.com/?p1159 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 之前在liunx上安装过yii…

vs dll必须和exe在同一个目录_Win10系统丢失 .dll 文件的三种解决方案教程

有时候开机或打开一个软件时,系统会提示无法启动程序,这是怎么回事呢?这是因为计算机丢失某个或某些dll文件,由于系统本身不存在这些运行库文件,需要进行添加才能使用该软件。方法一:下载丢失的.dll文件&am…

datagrid页面获取表单一条数据的例子

【问题背景】 最近在做ITOO考评的时候想从页面获取表单选中的数据: 【代码】 在数据网格(datagrid)组件包含两种方法来检索选中行数据: getSelected:取得第一个选中行数据,如果没有选中行,则返回…

Spring+SpringMVC+MyBatis+easyUI整合基础篇(十)SVN搭建

前言 前面一篇文章讲了一下版本控制,但其实这一篇并没有打算讲细节的,感觉应该自己去动手弄一下,后来考虑了一下,版本控制真的挺重要的,如果自己实在搭建不好反而不去使用的话,真的有点可惜,当然…

串口数据波形显示_【专题教程第6期】SEGGER的J-Scope波形上位机软件,RTT模式波形上传可飙到500KB/S...

【专题教程第6期】SEGGER的J-Scope波形上位机软件,RTT模式波形上传速度可狂飙到500KB/S左右说明:1、在实际项目中,很多时候,我们需要将传感器或者ADC的数值以波形的形式显示。通常的解决办法是用串口上位机,USB接口上位…

JavaScript-基础入门.0014.JavaScript内置对象

2019独角兽企业重金招聘Python工程师标准>>> 简单介绍: 说明: 内置对象就是不依赖宿主环境在程序执行之前已经存在的对象,不必显式的实例化内置对象,前面已经介绍了大部分内置对象,而Global和Math两个单体内置对象比较特殊,所以单独讲. Global对象: 说明: Js中不属于…