软件工程概论个人作业02(四则运算2)

1、设计思想:

在四则运算1的基础上,多加了几个要求,是否有乘除法可以通过不同的选择然随机生成符号的函数有时候生成两个数字对应加减,有时候生成四个数对应加减乘除;括号没有实现;数值范围通过一个函数实现(int)(Math.random()*(m-n+1)+n)生成n~m的数字;加减有无负数在减法出负数时输出提示语句;另外求余,即把参与运算的两个数都定义为int类型,比如a,b都为int,a/b=c,若不能整除,余数等于a-c*b。

2、源程序代码:

import java.util.Random;
import java.util.Scanner;class Fenshu{static int fenzi1;static int fenmu1;static int fenzi2;static int fenmu2;public static void fenshu()//分数随机产生
    {Random random=new Random();fenmu1=(random.nextInt(10)+1);fenzi1=(random.nextInt(10)+1);fenmu2=(random.nextInt(10)+1);fenzi2=(random.nextInt(10)+1);if(fenmu1<=fenzi1||fenmu2<=fenzi2){fenshu();}//System.out.println(fenmu1);//System.out.println(fenzi1);//System.out.println(fenmu2);//System.out.println(fenzi2);
          }public static char fuhao()//符号随机产生
    {char a =0;Random random=new Random();int f=random.nextInt(4);if(f==0)a='+';if(f==1)a='-';;if(f==2)a='*';if(f==3)a='/';return a;}
public static int GYS(int m, int n)   // 循环实现
      {int k,y;if(m<n){k=m;m=n;n=k;}while(m%n!=0){y=m%n;m=n;n=y; }return n;}public static void zhenoutput()//真分数输出
    {fenshu();char a1=fuhao();if(a1=='+'){int jieguo1=fenmu1*fenmu2;int jieguo2=fenzi1*fenmu2+fenzi2*fenmu1;int a=GYS(jieguo1,jieguo2);System.out.println(fenzi1+"/"+fenmu1+"+"+fenzi2+"/"+fenmu2+"="+jieguo2/a+"/"+jieguo1/a);    }if(a1=='-'){int jieguo1=fenmu1*fenmu2;int jieguo2=fenzi1*fenmu2-fenzi2*fenmu1;int a=GYS(jieguo1,jieguo2);System.out.println(fenzi1+"/"+fenmu1+"-"+fenzi2+"/"+fenmu2+"="+jieguo2/a+"/"+jieguo1/a);    }if(a1=='*'){int jieguo1=fenmu1*fenmu2;int jieguo2=fenzi1*fenzi2;int a=GYS(jieguo1,jieguo2);System.out.println(fenzi1+"/"+fenmu1+"*"+fenzi2+"/"+fenmu2+"="+jieguo2/a+"/"+jieguo1/a);    }if(a1=='/'){int jieguo1=fenmu1*fenzi2;int jieguo2=fenzi1*fenmu2;int a=GYS(jieguo1,jieguo2);System.out.println(fenzi1+"/"+fenmu1+"/"+fenzi2+"/"+fenmu2+"="+jieguo2/a+"/"+jieguo1/a);    }}    
}
public class Size {static int n;static int m;
public static void main(String args[])
{Fenshu a=new Fenshu();boolean p=true;while(p){Scanner in=new Scanner(System.in);System.out.println("1.整式计算 2.真分数计算");int ch=in.nextInt();if(ch==1){System.out.println("请输入你要取得数值的范围:");Scanner in1=new Scanner(System.in);n=in1.nextInt();m=in1.nextInt();System.out.print("请确认你要计算的题目中是否包括乘除法:1、包括2、不包括");int c=in.nextInt();if(c==1){System.out.println("请输入要计算的题的数量:");int number=in.nextInt();int i=0;while(i<number){output();      i++;}    }if(c==2){System.out.println("请输入要计算的题的数量:");int number=in.nextInt();int i=0;while(i<number){output1();      i++;}        }}if(ch==2){System.out.println("请输入要计算的题的数量:");int number=in.nextInt();int i=0;while(i<number){Fenshu.zhenoutput();i++;}}}
}
public static int shuzi()//随机产生数字并且判断数值范围
    { Random random=new Random();int a=(int)(Math.random()*(m-n+1)+n);//System.out.print(a);return a;}
public static void fuhao()//符号随机产生
    {Random random=new Random();int f=random.nextInt(4);if(f==0)System.out.print('+');if(f==1)System.out.print('-');if(f==2)System.out.print('*');if(f==3)System.out.print('/');}public static void output()//整数计算包括乘除法
{//Scanner in1=new Scanner(System.in);int a=shuzi();int b=shuzi();Random random=new Random();int f=random.nextInt(4);  if(f==0){System.out.print(a);System.out.print('+');System.out.print(b);System.out.println("="+(a+b));}if(f==1){        System.out.print(a);System.out.print('-');System.out.print(b);System.out.println("="+(a-b));if(a-b<0){           System.out.println("此次计算式式子结果为负数。");}}if(f==2){System.out.print(a);System.out.print('*');System.out.print(b);System.out.println("="+(a*b));}if(f==3){System.out.print(a);System.out.print('/');System.out.print(b);int c=a/b;System.out.println("="+c);int yushu=a-c*b;if(yushu!=0){System.out.println("该式子不能整除,余数为"+yushu);}if(yushu==0){System.out.println("该式子能整除");}} }
public static void output1()//整数计算不包括乘除
{double a=shuzi();double b=shuzi();Random random=new Random();int f=random.nextInt(2); if(f==0){System.out.print(a);System.out.print('+');System.out.print(b);System.out.println("="+(a+b));}if(f==1){System.out.print(a);System.out.print('-');System.out.print(b);System.out.println("="+(a-b));if(a-b<0){           System.out.println("此次计算式式子结果为负数。");}} 
}}

3、运行结果截图:

 

 

 

 

转载于:https://www.cnblogs.com/hanbook/p/6544658.html

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

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

相关文章

linux下怎么将html换成pdf,如何在Linux上使用PHP将HTML/CSS转换为PDF

我一直试图将html页面转换为PDF&#xff0c;但没有任何运气&#xff0c;我尝试使用wkhtmltopdf(http://code.google.com/p/) wkhtmltopdf /)和虽然下面的命令在终端正确执行由相同的开发者(http://code.google.com/p/wkhtmltopdf/wiki/IntegrationWithPhp)中提供的PHP类&#x…

javascript 类型及类型判断

js中的类型&#xff1a; 标准类型&#xff1a;Number、String、Boolean、Null、Undefined 内置对象类型&#xff1a;Function、Array、Date、RegExp、Math、JSON... 类型识别&#xff1a; 1、typeof&#xff1a; 可以识别标准类型&#xff08;Null、Undefined除外&#xf…

linux的yum详解,Linux之YUM 详解

一、yum是什么yum Yellow dog Updater, Modified主要功能是更方便的添加/删除/更新RPM包.它能自动解决包的倚赖性问题.它能便于管理大量系统的更新问题二、yum 的运用格式及常用参数yum [option] "包名"有些记不住的包名 可以使用通配符* 来一次安装多个前端一直的软…

windows 8 安装iis .net 3.5

安装iis要一部分一部分点&#xff08;有些是需要更新包的&#xff09;.net 3.5安装1.将Win8镜像加载到虚拟光驱&#xff1b;或者将 win8 刻录好的光盘插入光驱&#xff1b;2.使用Windows键X,调出命令菜单&#xff0c;选择 命令提示符(管理员)&#xff1b;3.敲入如下命令&#x…

tableview直接滚动至最后一行

类似聊天界面&#xff0c;tableview应该直接显示在最后一行&#xff0c;并且不应该有滚动的出现。 在网上查了很久&#xff0c;直接滚动至最后一行很容易实现&#xff0c;有两种方法比较好。 1. 调用scrollToRowAtIndexPath方法 -(void) scrollBottom{if ([self.messageData co…

c语言两个字符串比较,将两个字符串s1和s2比较,如果s1s2,数组编程:将2个字符串s1和s2比较。若s1s2输出1;若s1=s2,输出0;若s1s2,输出-1(不能用strcmp函数)...

满意答案zxd8611032014.04.15采纳率&#xff1a;55% 等级&#xff1a;9已帮助&#xff1a;563人#include<iostream.h>#include<string.h>int min(int a,int b){return ((a<b)?a:b);}void main(){char a[1000],b[1000];int lena,lenb,i,t,res,flag0;cin>&…

鼠标问题:鼠标拖拽不灵敏,准备复制拖动的半截就断了

解决办法&#xff1a;清理一下鼠标下部激光感应的地方&#xff0c;还不行就得换一个试试了。

在线高清大图发布

ImageBrowser 解决了任意大小的在线高清大图的快速发布与显示&#xff0c;支持tif、jpg、png、bmp等多种图片格式&#xff0c;能够快速更新索引、跨平台部署和支持二次开发&#xff0c;可以在任何网站下调用和显示。可广泛应用于摄影、车展、古玩拍卖、建筑工程等领域。 实例地…

c语言函数调用参数调用的太少,浅谈C语言函数调用参数压栈的相关问题

参数入栈的顺序以前在面试中被人问到这样的问题&#xff0c;函数调用的时候&#xff0c;参数入栈的顺序是从左向右&#xff0c;还是从右向左。参数的入栈顺序主要看调用方式&#xff0c;一般来说&#xff0c;__cdecl 和__stdcall 都是参数从右到左入栈。看下面的代码&#xff1…

adobe reader(PDF)数字证书添加

编辑——首选项——签名 ——身份与可信任证书里的“更多”——添加身份证 ——选择我现有的数字身份认证来自文件——选择文件输入密码确认即可也可以采用添加系统证书的方式&#xff0c;双击证书一直下一步即可&#xff0c;系统自动将证书存入系统中。此方法也适用于福昕等阅…

c语言编写期末考试成绩,C语言期末考试卷(A卷含答案).doc

C语言期末考试卷(A卷含答案)桂林电子科技大学信息科技学院试卷2011-2012 学年第 2 学期 课号 I04BT014 课程名称 C语言程序设计 (A卷;、闭卷) 适用班级(或年级、专业) 11级、全院 考试时间 120 分钟 班级 学号 姓名 题 号一二三四五六七八九十成绩满 分403030 100得 分 评卷人 …

self

# 定义一个类class Animal:# 方法def setName(self, name):self.name namedef printName(self):print (名字为:, self.name)# 定义一个函数def myPrint(animalName):animalName.printName() dog1 Animal()dog1.setName(西西)myPrint(dog1)dog2 Animal()dog2.setName(北北)my…

前端学习(2324):angular初步使用

app.component.html <div style"text-align:center"><h1>welcome to {{title}}</h1><div style"color:#f00000">我是歌谣</div><div>{{name}}</div> </div>app.component.ts import { Component } from…

jquery ajax json转换出错Invalid JSON

ajax中json转换采用jQuery.parseJSON(json)&#xff0c;1.4版本后的jQuery.parseJSON(json)传入一个畸形的JSON字符串会抛出一个异常。比如下面的都是畸形的JSON字符串&#xff1a; {test: 1} &#xff08; test 没有包围双引号&#xff09;{test: 1} &#xff08;使用了单引号…

Codeforces Round #201 (Div. 2)C,E

数论&#xff1a;C. Alice and Bobtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputIt is so boring in the summer holiday, isnt it? So Alice and Bob have invented a new game to play. The rules are as follo…