软件工程课后作业——用JAVA编写的随机产生30道四则运算

 1 package com.java.sizeyunsuan;
 2 
 3 public class lianxi {
 4     String f()
 5     {
 6         int i=(int)(Math.random()*10);
 7         int j=(int)(Math.random()*10);
 8         if(i>=j)
 9         {
10             int temp=i;
11             i=j;
12             j=temp;
13         }
14         return("("+i+"/"+j+")");
15     }
16     public static void main(String[] args)
17     {
18         String a,b;
19         int k;
20         lianxi lianxi=new lianxi();
21         for(int n=0;n<30;n++)
22         {
23             a=lianxi.f();
24             b=lianxi.f();
25             int i=(int)(Math.random()*100);
26             int j=(int)(Math.random()*100);
27             switch((int)(Math.random()*4))
28             {
29             case 0:
30               k=(int)(Math.random()*3);
31                 if(k==0)
32                    System.out.println(i+"+"+j+"=");
33                 else if(k==1)
34                    System.out.println(a+"+"+j+"=");
35                 else if(k==2)
36                        System.out.println(b+"+"+a+"=");
37                 break;
38             case 1:
39                 k=(int)(Math.random()*3);
40                 if(i<j)
41                 {
42                     int temp=i;
43                     i=j;
44                     j=temp;
45                 }
46                     if(k==0)
47                         System.out.println(i+"-"+j+"=");
48                     else if(k==1)
49                         System.out.println(j+"-"+a+"=");
50                     else if(k==2)
51                         System.out.println(b+"-"+a+"=");
52               break;
53             case 2:
54                 k=(int)(Math.random()*3);
55                    if(k==0)
56                        System.out.println(i+"*"+j+"=");
57                     else if(k==1)
58                        System.out.println(a+"*"+j+"=");
59                     else if(k==2)
60                            System.out.println(b+"*"+a+"=");
61               break;
62             case 3:
63             while(j==0)
64               j= (int)(Math.random()*100);
65               System.out.println(i+"/"+j+"=");
66               break;
67               }
68         }
69     }
70 }
1.设计思路:此题目为随机产生30道四则运算,首先要产生随机数,我先写了一个函数用来随机生成一个真分数,然后在主函数中调用这个函数获取它的返回值,然后又利用Random()产生两个二位的随机整数,然后利用Swich分支结构分别实现加减乘除,随机产生0,1,2,3,分别代表加减乘除。
需要注意:(1)考虑到小学生没有学过负数,所以在进行减法时,假如出现被减数大于减数,则将两数交换,再进行减法;
(2)考虑到除数不能为0,假如除数为0,则再产生一个随机数,利用while循环;
(3)在每个运算中又用if-else结构分了多种情况,其中除法情况太多并且复杂,没有一一实现,日后会多加改善。
2.运行结果:

3.上课未完成原因:
(1)根本原因:对c,c++,java等语言不熟练,忘记了随机函数怎么用,甚至连最基本的语法都忘了,说来惭愧!
(2)客观原因:对编程软件使用不熟练,在VS2010中创建C++项目出现了问题,耽误了很长时间!
此程序还有很多不足,希望大家批评指教!

 

转载于:https://www.cnblogs.com/maximumminimum/p/4319219.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值