zoukankan      html  css  js  c++  java
  • 软件工程个人作业01

    设计思想:

    1、首先定义一个类在类中用一个函数来表示一次随机产生一个运算式。

    2、定义两个整型随机数作为运算符号两边的数值,再定义4个随机数来分别表示四则运算符号,再定义两个随机数来表示是整数还是分数。

    3、进行整数的随机四则运算,通过switch case语句实现(当运算符号为除法时判定分母是否为零)。

    4、再进行有真分数的四则运算,同样通过switch case语句实现(分数的分母不能为零,真分数分母大于分子)

    5、最后在循环里调用上述函数

    源程序代码:

      1 class Q{
      2     public void display()
      3     {
      4         //随机生成需要的数据
      5         int a = (int)(Math.random() * 100);//随机产生0到100的整数
      6         int b = (int)(Math.random() * 100);//随机产生0到100的整数
      7         int c = (int)(Math.random() * 4);//0为加,1为减,2为乘,3为除
      8         int d = (int)(Math.random()*2);//0为整数,1为分数
      9         String fuhao = new String();
     10         //符号的判定
     11         if(c==0) fuhao="+";
     12         if(c==1) fuhao="-";
     13         if(c==2) fuhao="*";
     14         if(c==3) fuhao="/";
     15         if(d==0)//整数的运算
     16         {
     17             switch(c)
     18             {
     19             case 0:
     20                 System.out.println(a+fuhao+b+"=");
     21                  break;
     22             case 1:
     23                  System.out.println(a+fuhao+b+"=");
     24                  break;
     25              case 2:
     26                  System.out.println(a+fuhao+b+"=");
     27                  break;
     28              case 3:
     29                  if(b==0)
     30                  {
     31                      int b1 = 1+(int)(Math.random() * 100);
     32                      System.out.println(a+fuhao+b1+"=");
     33                  }
     34                  else
     35                  {
     36                      System.out.println(a+fuhao+b+"=");
     37                  }                 
     38                  break;
     39              default:
     40                  System.out.println("Wrong!");
     41             }
     42         }
     43         if(d==1)//分数的运算
     44         {
     45             int a1 = 1+(int)(Math.random() * 100);
     46             int a2 = 1+(int)(Math.random() * 100);
     47             int b1 = 1+(int)(Math.random() * 100);
     48             int b2 = 1+(int)(Math.random() * 100);
     49             int aa,bb;
     50             String Q1=new String();
     51             String Q2=new String();
     52             int d1 = (int)(Math.random()*2);
     53             int d2 = (int)(Math.random()*2);
     54             if(d1==1)//第一个数为分数
     55             {
     56                 aa=a1;
     57                 bb=b1;
     58                 if(aa>=bb)//真分数的判定
     59                 {
     60                     Q1="("+bb+"/"+aa+")";
     61                 }
     62                 else
     63                 {
     64                     Q1="("+aa+"/"+bb+")";
     65                 }
     66             }
     67             else//d1==0,第一个数为整数
     68             {
     69                 Q1=a+"";
     70             }
     71             if(d2==1)//第二个分数
     72             {
     73                 aa=a2;
     74                 bb=b2;
     75                 if(aa>=bb)//真分数的判定
     76                 {
     77                     Q2="("+bb+"/"+aa+")";
     78                 }
     79                 else
     80                 {
     81                     Q2="("+aa+"/"+bb+")";
     82                 }  
     83             }
     84             else//d2==0,第二个数为整数
     85             {
     86                 Q2=b+"";
     87             }
     88             switch(c)
     89             {
     90             case 0:
     91                  System.out.println(Q1+fuhao+Q2+"=");
     92                  break;
     93              case 1:
     94                  System.out.println(Q1+fuhao+Q2+"=");
     95                  break;
     96              case 2:
     97                  System.out.println(Q1+fuhao+Q2+"=");
     98                  break;
     99              case 3:
    100                  System.out.println(Q1+fuhao+Q2+"=");
    101                  break;
    102              default:
    103                  System.out.println("wrong!");         
    104             }
    105         }
    106     }
    107 }
    108 public class SiZe {
    109     public static void main(String[] args) {
    110         for(int i=1;i<=30;i++)//循环30次即为30道题
    111          {
    112              Q W = new Q();
    113              System.out.println("第"+i+"题");
    114              W.display();         
    115          }
    116     }
    117 }

    运行结果截图:

    未按时完成的原因:不清楚真分数怎么随机产生并且表示出来。

  • 相关阅读:
    6次作业
    5次作业
    4次作业
    3次作业
    first 作业
    pycharm快捷键
    python基础知识记录
    Jenkins+sonar+tomcat+SVN集成搭建
    成为1个技术大牛的入门到进阶之路(学习路线图)
    记一次收到QQ邮箱钓鱼邮件经历
  • 原文地址:https://www.cnblogs.com/mengqimoli/p/5261805.html
Copyright © 2011-2022 走看看