软件工程个人作业02

1.设计思想:

分模块实现不同功能;正数,负数,运算符号,分数的数据结构定义分别定义;最简真分数的判断和菜单栏也独自分开;

求余,负数,规定取值范围等在主函数中放入主函数中,再用if语句对不同的功能进行进一步的规定,输出结果。

 

2.源代码:

    

package 四则运算2;

import java.util.*;

//正数的随机取值

class number1{

private int i;

private int j;

public void seti()

{

i = 1 + (int)(Math.random() * 100);

}

public int geti()

{

return i;

}

public void setj()

{

j = 1 + (int)(Math.random() * 99);

}

public int getj()

{

return j;

}

 

}

//负数的随机取值

class Number{

private int i;

private int j;

public void seti()

{

i = (-1) + (int)(Math.random() * (-100));

}

public int geti()

{

return i;

}

public void setj()

{

j = (-1) + (int)(Math.random() * (-99));

}

public int getj()

{

return j;

}

 

}

//运算符号的随机取值

class symbol{

private int a;

public void seta()

{

a = 1 + (int)(Math.random() * 4);

}

public int geta()

{

return a;

}

}

//分数的随机取值

class number2{

private int i;

private int j;

private int x;

private int y;

public void setnumber()

{

i = 1 + (int)(Math.random() * 100);

j = 1 + (int)(Math.random() * 99);

x = 1 + (int)(Math.random() * 100);

y = 1 + (int)(Math.random() * 99);

}

public int getnumberi()

{

return i;

}

public int getnumberj()

{

return j;

}

public int getnumberx()

{

return x;

}

public int getnumbery()

{

return y;

}

 

 

}

public class calculate {

public static void main(String args[])

{

menu();

System.out.println("请输入想要运行的计算");

Scanner scan = new Scanner(System.in);

int p;

p = scan.nextInt();

if(p == 1)

{

for(int i = 0 ; i <= 29 ; i ++){

number1 n1 = new number1();

int a1 , a2;

n1.seti();

a1 = n1.geti();

n1.setj();

a2 = n1.getj();

symbol s = new symbol();

int b;

s.seta();

b = s.geta();

if(b == 1)

System.out.println(a1 + "+" + a2 + "=" + ( a1 + a2 ) );

if(b == 2)

System.out.println(a1 + "-" + a2 + "=" + (a1 - a2));

if(b == 3)

System.out.println(a1 + "*" + a2 + "=" + (a1 * a2));

if(b == 4){

int c = a1 % a2;

int c1 = (a1 - c) / a2;

System.out.println(a1 + "/" + a2 + "=" + c1 + "" + c);

}

 

}

}

if(p == 2){

for(int i = 0 ; i <= 29 ; i ++){

Number n1 = new Number();

int a1 , a2;

n1.seti();

a1 = n1.geti();

n1.setj();

a2 = n1.getj();

symbol s = new symbol();

int b;

s.seta();

b = s.geta();

if(b == 1)

System.out.println(a1 + "+" + "(" +a2 + ")" + "=" + ( a1 + a2 ) );

if(b == 2)

System.out.println(a1 + "-" + "(" +a2 + ")" + "=" + (a1 - a2));

if(b == 3)

System.out.println(a1 + "*" + "(" +a2 + ")" + "=" + (a1 * a2));

if(b == 4){

int c = ((-1) * a1) % ((-1) * a2);

int c1 = ((-1) * a1 - c) / ((-1) * a2);

System.out.println(a1 + "/" + "(" +a2 + ")" + "=" + c1 + "" + c);

}

 

 

}

}

if(p == 3)

{

for(int i = 0 ; i <= 29 ; i++)

{

number2 n2 = new number2();

int b1 , b2 , b3 , b4;

n2.setnumber();

b1 = n2.getnumberi();

b2 = n2.getnumberj();

b3 = n2.getnumberx();

b4 = n2.getnumbery();

symbol s1 = new symbol();

int c;

s1.seta();

c = s1.geta();

if(c == 1)

System.out.println(simplify(b2 , b1) + "+" + simplify(b4 , b3) + "=" + simplify(b2 * b3 + b4 * b1 , b1 * b3));

if(c == 2)

System.out.println(simplify(b2 , b1) + "-" + simplify(b4 , b3) + "=" + simplify(b2 * b3 - b4 * b1 , b1 * b3));

if(c == 3)

System.out.println(simplify(b2 , b1) + "*" + simplify(b4 , b3) + "=" + simplify(b2 * b4 , b1 * b3));

if(c == 4)

System.out.println(simplify(b2 , b1) + "/" + simplify(b4 , b3) + "=" + simplify(b2 * b3 , b1 * b4));

}

}

if(p == 4)

{

int i = 0;

while(i < 30){

number1 n = new number1();

int a1 , a2;

n.seti();

a1 = n.geti();

n.setj();

a2 = n.getj();

if(a1 % a2 == 0)

{

i++;

System.out.println(a1 + "/" + a2 + "=" + (a1 / a2));

}

}

}

if(p == 5)

{

int i = 0;

while(i < 30){

number1 n = new number1();

int a1 , a2;

n.seti();

a1 = n.geti();

n.setj();

a2 = n.getj();

if(a1 % a2 != 0)

{

i++;

int c = a1 % a2;

int c1 = (a1 - c) / a2;

System.out.println(a1 + "/" + a2 + "=" + c1 + "" + c);

}

}

}

if(p == 6)

{

System.out.println("请输入范围的左边界:");

Scanner scan1 = new Scanner(System.in);

int a3;

a3 = scan1.nextInt();

System.out.println("请输入范围的右边界:");

Scanner scan2 = new Scanner(System.in);

int a4;

a4 = scan1.nextInt();

int i = 0;

while(i < 30){

number1 n1 = new number1();

int a1 , a2;

n1.seti();

a1 = n1.geti();

n1.setj();

a2 = n1.getj();

symbol s = new symbol();

int b;

s.seta();

b = s.geta();

if(a1 >= a3 && a1 <= a4 && a2 >= a3 && a2 <= a4)

{

i++;

if(b == 1)

System.out.println(a1 + "+" + a2 + "=" + ( a1 + a2 ) );

if(b == 2)

System.out.println(a1 + "-" + a2 + "=" + (a1 - a2));

if(b == 3)

System.out.println(a1 + "*" + a2 + "=" + (a1 * a2));

if(b == 4){

int c = a1 % a2;

int c1 = (a1 - c) / a2;

System.out.println(a1 + "/" + a2 + "=" + c1 + "" + c);

}

}

}

}

if(p == 7)

{

 

}

 

 

}

public static String simplify(int a,int b) //获得最简分数

{

int max = 0;

for(int i = 0 ;i < 100 ;i ++)

{

int n = i + 1 ;

if(a % n == 0 && b % n == 0)

max = n;

 

}

return (String)( a / max + "/" + b / max);

}

public static void menu()

{

System.out.println("1. 正数的四则运算");

System.out.println("2. 负数的四则运算");

System.out.println("3. 分数的四则运算");

System.out.println("4. 整除运算");

System.out.println("5. 非整除运算");

System.out.println("6. 规定数值范围的运算");

System.out.println("7. 带括号的四则运算");

}

 

}

 

 

 

 

 

 

 

 项目计划日志:

日期/任务

听课

阅读课本

课下学习

 

日总计

周一

 0

 0

 0

 

 0

周二

0

0

0

 

0

周三

 0

 20min

40min

 

60min

周四

 0

 0

0

 

0

周五

100min

10min

50min

 

160min

周六

 0

 15min

60min

 

75min

周日

 0

 0

50min

 

50min

每周总结

 

100min

45min

200min

 

345min

时间记录日志:

日期

开始时间

结束时间

中断时间

净时间

活动

备注

C

U

3.10

 

 

0

0

上课

 

 

 

3.11

20:00

21:00

10min

50min

看书,编程

写软件工程作业

 

 

3.12

19:00

21:00

15m

105min

看书,编程

学javaweb

 

 

3.13

19:00

20:00

10m

50min

编程

软件工程作业

 

 

 

 

 

 

 

 

 

 

 

 

 

 

缺陷记录日志:

 

3/12:除数中含有0报错;

转载于:https://www.cnblogs.com/yirenzui/p/7110686.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值