• 201571030302 实验二 四则运算


    一  源代码Github地址:https://github.com/adu12345/Dem

    二   实验内容

       程序可接收一个输入参数n,然后随机产生n道加减乘除练习题,每个数字在 0 和 100 之间,运算符在3个到5个之间。

       为了让小学生得到充分锻炼,每个练习题至少要包含2种运算符。同时,由于小学生没有分数与负数的概念,你所出的练习题在运算过程中不得出现负数与非整数,比如不能出 3/5+2=2.6,2-5+10=7等算式。

       练习题生成好后,将你的学号与生成的n道练习题及其对应的正确答案输出到文件“result.txt中,不要输出额外信息,文件目录与程序目录一致

       当程序接收的参数为4时,以下为输出文件示例。

    三    功能分析

    随机生成n个包含3个运算符0-100的加减乘除的等式。

    等式结果包括运算途中不能产生负数。

    结果不能为小数。

    将结果输出到文件内,标注学号。

     四    测试运行

    核心代码

    package main;
    import java.util.*;
    public class main {
    public static String yuefen(int a,int b){
    int y = 1;
    for(int i=a;i>=1;i--){
    if(a%i==0&&b%i==0){
    y = i;
    break;
    }
    }
    int z = a/y;
    int m = b/y;
    if(z==0) {
    return "0";
    }
    return ""+z+"/"+m;
    }
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println("201571030302");
    int x,y,i,a1;
    int d1=0;
    String d = null;
    System.out.println("1、整数计算式,2、真分数计算式");
    Scanner scan1=new Scanner(System.in);
    a1=scan1.nextInt();
    if(a1==1){
    System.out.println("请输入题目的数量");
    Scanner scan2=new Scanner(System.in);
    x=scan2.nextInt();
    int daan[]=new int [x];
    System.out.println("请输入数值的范围");
    y=scan2.nextInt();
    for(i=0;i<x;i++){
    int a=(int)(Math.random()*y);//随机生成一个1-10的整数
    int b=(int)(Math.random()*y);//随机生成一个1-10的整数
    int c=(int)(Math.random()*3);//随机生成一个1-4的整数,0表示加法,1表示减法,2表示乘法,3表示除法
    if(c==0)
    {
    d1=a+b;
    System.out.print(a+"+"+b+"= ");
    }
    if(c==1)
    {
    d1=a-b;
    System.out.print(a+"-"+b+"= ");
    }
    if(c==2)
    {
    d1=a*b;
    System.out.print(a+"*"+b+"= ");
    }
    if(c==3)
    {
    d1=a/b;
    System.out.print(a+"/"+b+"= ");
    }
    if((i+1)%3==0){
    System.out.println();
    }
    daan[i]=d1;
    }
    System.out.println("是否显示答案(显示请输入1)");
    if(scan2.nextInt()==1){
    for(i=0;i<x;i++){
    System.out.print(daan[i]+" ");
    }
    }
    }
    if(a1==2){
    int M,Z;
    System.out.println("请输入题目的数量");
    Scanner scan2=new Scanner(System.in);
    x=scan2.nextInt();
    String daan[]=new String [x];
    int x1,x2,B,m1,m2;
    System.out.println("请输入分母数值的范围");
    B=scan2.nextInt();
    for(i=0;i<x;i++){
    m1=1+(int)(Math.random()*B);//随机生成一个小于B的分母
    x1=1+(int)(Math.random()*m1);//生成一个比分母小的分子,实现真分数
    m2=1+(int)(Math.random()*B);//随机生成一个小于B的分母
    x2=1+(int)(Math.random()*m2);//生成一个比分母小的分子,实现真分数
    int c=(int)(Math.random()*3);//生成运算符
    if(c==0){
    Z=x1*m2+x2*m1;
    M=m1*m2;
    d=yuefen(Z,M);
    System.out.print(x1+"/"+m1+"+"+x2+"/"+m2+"= ");
    }
    if(c==1){
    Z=x1*m2-x2*m1;
    M=m1*m2;
    d=yuefen(Z,M);
    System.out.print(x1+"/"+m1+"-"+x2+"/"+m2+"= ");
    }
    if(c==2){
    Z=x1*x2;
    M=m1*m2;
    d=d=yuefen(Z,M);
    System.out.print(x1+"/"+m1+"*"+x2+"/"+m2+"= ");
    }
    if(c==3){
    Z=m1*x2;
    M=m2*x1;
    d=d=yuefen(Z,M);
    System.out.print(x1+"/"+m1+"/"+x2+"/"+m2+"= ");
    }
    if((i+1)%3==0){
    System.out.println();
    }
    daan[i]=d;

    }
    System.out.println("是否显示答案(显示请输入1)");
    if(scan2.nextInt()==1){
    for(i=0;i<x;i++){
    System.out.print(daan[i]+" ");
    }
    }

    }


    }
    }

    五    总结:由于我当时没有学好java导致这次实验做得很慢 最后在自己的努力和同学的帮助下完成了这次实验 通过这次实验我也意识到自己还有很多不足  以后我会好好学习代码。

    六   psp

    PSP2.1

    任务内容

    计划完成需要的时间(min)

    实际完成需要的时间(min)

    Planning

    计划

    20

    40

    ·       Estimate

    ·  估计这个任务需要多少时间,并规划大致工作步骤

    20

    60

    Development

    开发

    200

    200

    ··       Analysis

      需求分析 (包括学习新技术)

    10

    10

    ·       Design Spec

    ·  生成设计文档

    10

    10

    ·       Design Review

    ·  设计复审 (和同事审核设计文档)

    10

    10

    ·       Coding Standard

      代码规范 (为目前的开发制定合适的规范)

    10

    10

    ·       Design

      具体设计

    10

    10

    ·       Coding

      具体编码

    40

    40

    ·       Code Review

    ·  代码复审

    10

    10

    ·       Test

    ·  测试(自我测试,修改代码,提交修改)

    40

    40

    Reporting

    报告

    10

    10

    ··       Test Report

    ·  测试报告

    10

    10

    ·       Size Measurement

      计算工作量

    20

    20

    ·       Postmortem & Process Improvement Plan

    ·  事后总结 ,并提出过程改进计划

    10

    10

  • 相关阅读:
    zookeeper安装和使用
    一个最简单的Dubbo入门框架
    Dubbo Admin管理平台搭建
    Docker容器入门实践
    vue 项目安装 (入门)
    测试任何对象的某个特性是否存在 兼容js
    用户代理字符串检测呈现引擎、平台、Windows操作系统、移动设备和游戏系统 js
    React
    React (4) -- Conditional Rendering
    React (5) -- Lists and Keys
  • 原文地址:https://www.cnblogs.com/dyh666/p/8641574.html
Copyright © 2020-2023  润新知