zoukankan      html  css  js  c++  java
  • 第四次作业---四则运算升级版(带可视化界面)

    本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213

    同伴的github远程仓库的地址:https://github.com/879539613/IT-apk

    第一部分:要求

    从个人项目出发,将程序改造成一个单机带用户界面(不是控制台)的程序,这个程序最基本要达到:

    • 自动生成题目,单个题目最多不能超过4个运算符,操作数小于100。
    • 用户可以输入答案
    • 若用户输入答案正确,则提示正确;若答案错误,则提示错误,并要提示正确答案是多少。

    第二部分:设计

         扩展方向
    1. 可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号。如: 2*(-4) = -8
    2. 用户答题结束以后,程序可以显示用户答题所用的时间
    3. 用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数
    4. 程序可以出单个整数阶乘的题目:如:4!=24
    5. 程序可以设置皮肤功能,可以改变界面的颜色即可。
        开发环境

    第三部分:实现

    我所扩展的方向与工作量:
     
    示例:
     
    1. 可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号。如: 2*(-4) = -8
    2. 用户答题结束以后,程序可以显示用户答题所用的时间
    3. 用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数
    一.整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号。
     private void jisuan3()
        {
            int a=(int)(Math.random()*99+1)*-1;
            int b=(int)(Math.random()*10+1);
           int j=(int)(Math.random()*1);
           int i=(int)(Math.random()*3);//0、1加减//2、3乘除
            if(j==0){
                title.setText(a+String.valueOf(ch[i])+" "+b);
                jisuan(i,a,b);
            }
            else {
                title.setText(b+String.valueOf(ch[i])+" "+"("+a+") ");
                jisuan(i,b,a);
            }
    
        }
    

      

    二.时间

                startTime= System.currentTimeMillis(); //获取开始时间
    

      

         timer.stop();
        double endTime= System.currentTimeMillis() ;//获取结束时间
         seconds=endTime-startTime;//计算时间
    

      

     三.用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数

      try
                {
    
                    int n2=5;
                    if(n2<(Integer.parseInt(titlenumber.getText())))
                    {//当选择题目个数超过5个,弹出对话框
                        JOptionPane.showMessageDialog(null, "选择题数不能超过5个!");
                        titlenumber.setText("");//清空输入框内容
                        closeWindows();
    
                    }
                    timer.start();//开始计时
    
                }
                catch(NullPointerException o)
                {
                    System.out.print("输入有误");
                }
    

      

        result.setText( "答对"+right+"道题目,答错"+wrong+"道题目!"+"答题时间为:"+seconds+"秒");
                        JOptionPane.showMessageDialog(null, "结束!欢迎使用");
    

      

    第四部分:运行结果

    效果1:初始运行页面

    效果2:自定义颜色面板

    效果3:根据用户答案对错,颜色随之改变

    效果4:概率出现阶乘

    效果5:最终运行结束

     

    第五部分:解决

    问题1:加减乘除的运算选择错乱

    解决:仔细检查逻辑代码,固定运算符运算,杜绝其他可能出现的运算符,一个一个检查

    问题2:时间

    解决:百度查找

    问题3:容错率低

    解决:需要后期更新

    第五部分:合作伙伴

    姓名:袁振鹏  学号:201606120005   

    负责方向:可视化界面的布局与弹框等、颜色变换,弹出一个颜色面板,可自定义颜色、阶乘处理,在switch,case中写入了这种方法

    他的博客地址为: https://www.cnblogs.com/yuanzhenpeng/p/9845043.html

    结对照片:

    附图:统计表

    PSP2.1

    Personal Software Process Stages

    Time Senior Student(h)

    Time(h)

    Planning

    计划

    0.2

    0.1

    · Estimate

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

    6

    9

    Development

    开发

    1

    1.5

    · Analysis

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

    0

    1

    · Design Spec

    生成设计文档

    0

    0

    · Design Review

    设计复审

    0

    0

    · Coding Standard

    代码规范

    0.1

    0.1

    · Design

    具体设计

    0.2

    0.2

    · Coding

    具体编码

    3

    5

    · Code Review

    代码复审

    0.2

    0.2

    · Test

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

    0.5

    1

    Reporting

    报告

    0

    0

    Test Report

    测试报告

    0

    0

    ·workload

    计算工作量

    0

    0

    ·correction

    并提出过程改进计划

    0

    0

  • 相关阅读:
    python 基础 7.1 datetime 获得时间
    Python 学习笔记12
    Python 学习笔记11
    Python 学习笔记10
    Python 学习笔记9
    Python 学习笔记8
    Python 学习笔记7
    Python 学习笔记6
    Python 学习笔记5
    Python 学习笔记4
  • 原文地址:https://www.cnblogs.com/LJNAN/p/9845310.html
Copyright © 2011-2022 走看看