zoukankan      html  css  js  c++  java
  • 基于控制台的四则运算

                                                                               基于控制台的四则运算

    Coding地址:https://coding.net/u/ttoyy/p/java-sizeyunsuan/git


     

    一、题目简介

    1. 除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24
    2. 运算符为 +, −, ×, ÷
    3. 并且要求能处理用户的输入,并判断对错,打分统计正确率。
    4. 要求能处理用户输入的真分数, 1/2, 5/12
    5. 使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目Myapp.exe -n 10

    二、需求分析

      编写一段程序,能够输出小学四则运算的题目,并且支持真分数的操作,同时能够对用户输入的答案判定正确与否,给出成绩,最后统计正确率。


     

    三、功能设计

      ①用户能自定义此次题目的数量;

      ②能够输出四则运算题目,并支持真分数的运算;

      ③能对答案进行判定,给出分数与正确率。


     

    四、设计实现

      为实现功能,编写了一个java程序,采用循环算法和随机数实现。


     

    五、代码说明[view code]

     System.out.printf("请输入本次测试的题目数:");
    
    Scanner sc = new Scanner(System.in);
    
    int N = sc.nextInt();                //获取用户所需的题目数
    
    System.out.printf("本次测试的题目数为:"+ N +"
    ");
    
    for(int i=0;i<N;i++){                  //根据获取的题目数循环
    
    int x=(int)(Math.random()*7);//获取随机数
    
    switch(x){                    //根据随机数调用某种运算 如0是加法
    
    case 0:                      //整数的加法运算
    
    int a1=(int)(Math.random()*100);
    
    int b1=(int)(Math.random()*100);
    
    System.out.print(a1+"+"+b1+"=");
    
    Scanner sc1 = new Scanner(System.in);
    
    int c1=sc1.nextInt();
    
    if(c1!=a1+b1)System.out.printf("回答错误"+"
    ");  //验证输入答案的准确性
    
    else System.out.printf("回答正确"+"
    ");sum =sum+1;break;
    
    System.out.printf("测试结束,最后得分为:"+sum+"分"+"
    ");//给出本次测试的分数
    
    System.out.printf("正确率为:"+sum+"/"+N);    //给出本次测试的正确率

     调试情况:


     

    PSP2.1

    Personal Software Process Stages

    Estimated time(min)

    actual time(min)

    Planning

    计划

    10

    10

    · Estimate

    估计这个任务需要多少时间

    180

    180

    Development

    开发

    80

    90

    · Analysis

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

    10

    10

    · Design Spec

    生成设计文档

    10

    10

    · Design Review

    设计复审

    5

    5

    · Coding Standard

    代码规范

    5

    5

    · Design

    具体设计

    30

    40

    · Coding

    具体编码

    60

    60

    · Code Review

    代码复审

    10

    15

    · Test

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

    15

    15

    Reporting

    报告

    30

    35

    ·

    测试报告

    5

    5

    ·

    计算工作量

    5

    7

    ·

    并提出过程改进计划

    5

    10


    总结:

         1、编程中,真分数的算法耗费了大量时间,并且还存在问题,不知如何解决。真分数的算法存在问题,是用字符串解决的,不能用小数输入并且无法约分;

         2、整数除法的算法尚有漏洞,只能输入小数,遇到除不尽的无法运算;

         3、编程过程不够仔细,其中少了一个break,导致调试出现问题,检查好久才发现;

         4、经过本次编程,深知自己编程能力实在差,需要继续加强。

     

  • 相关阅读:
    HTTPS加密越来越流行,为何要加密?
    百度全站 https FAQ:技术宅告诉你如何搜索更安全
    Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
    理解 Ruby Symbol (Ruby中的冒号)
    ruby on rails Mac 安装
    Homestead PHP7安装phpredis扩展
    CentOS单独编译安装PHP gd库扩展
    centos 6.5 安装composer
    centos 添加用户
    laravel 安装 Laravel 扩展包
  • 原文地址:https://www.cnblogs.com/ttoyy/p/6511509.html
Copyright © 2011-2022 走看看