zoukankan      html  css  js  c++  java
  • 软件工程课后作业——用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++项目出现了问题,耽误了很长时间!
    此程序还有很多不足,希望大家批评指教!
  • 相关阅读:
    摄像机标定公式推导
    roscpp源码阅读
    机器学习(Machine Learning)&深度学习(Deep Learning)资料汇总 (上)
    机器学习(Machine Learning)&深度学习(Deep Learning)资料(下)
    【概率论与数理统计】全概率公式和贝叶斯公式
    机器学习之一些基本概念及符号系统
    机器学习之代价函数(cost function)
    机器学习之逻辑回归(Logistic Regression)
    机器学习之神经网络模型-下(Neural Networks: Representation)
    机器学习之神经网络模型-上(Neural Networks: Representation)
  • 原文地址:https://www.cnblogs.com/maximumminimum/p/4319219.html
Copyright © 2011-2022 走看看