软件工程概论个人作业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的yum详解,Linux之YUM 详解

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

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>&…

在线高清大图发布

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

前端学习(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…

前端学习(2325):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…

c语言角谷定理递归,【C++】(递归+非递归)卖鸭子及角谷定理+递归模型+递归树...

ps&#xff1a;全文中如果有任何错误您看到并能指出来的话(尤其是递归树)感激不尽XDDDD每个问题包含&#xff1a;(1)题目描述(2)递归解决代码(3)非递归解决代码(4)递归模型(5)递归树(6)运行结果截图一、卖鸭子问题1.题目描述一个人赶着鸭子去每个村庄卖&#xff0c;每经过一个村…

前端学习(2325):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…

【批处理】shift用法举例

1 echo off 2 set sum03 call :sub sum 1 2 3 44 echo sum%sum%5 pause6 7 :sub8 set /a %1%1%29 shift /2 10 if not "%2""" goto sub 11 goto :eof View Code转载于:https://www.cnblogs.com/xiongjiawei/p/6564958.html

前端学习(2326):angular之用户输入数据

test1.component.html <p class"p1">test1 works!</p> <div (click)"clickDemo()" >我是div1的内容</div> <input (keyup)"onkey($event)" type"text">test1.component.spec.ts import { ComponentF…

前端学习(2327):angular之双向绑定

test1.component.html <p class"p1">test1 works!</p> <div (click)"clickDemo()" >我是div1的内容</div> <input (keyup)"onkey($event)" type"text"><form action"" #heroFrom"n…

前端学习(2328):angular之模板

test2.component.html <p>test2 works!</p> <a href"{{url}}">百度</a> <a [href]"url">百度2</a>test1.component.spec.ts import { ComponentFixture, TestBed } from angular/core/testing;import { Test2Compon…

Struts2学习总结(完整版)

Struts2学习总结&#xff08;完整版&#xff09; 一、搭建struts2环境 1、jar包的导入 主要是到 解压其中的一个工程&#xff0c;得到里面lib下包含的jar包 把这里的所有的jar包拷贝到项目的 WEB-INF目录下的lib文件夹下面。 2、配置struts.xml文件 注意&#xff1a;必须要放在…

w ndows10电脑配置看哪里,Windows10怎么自动登录?Windows10自动登录的设置方法

在Windows10系统的默认状态下&#xff0c;我们登录系统是需要输入密码的&#xff0c;虽然输入登录密码可以较好的保护系统的安全&#xff0c;但是确实麻烦了不少&#xff0c;因此很多用户想要设置Windows10自动登录&#xff0c;那么该如何操作呢&#xff1f;下面小编给大家介绍…