• 结对项目四则运算 “软件”之升级版


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

    我的github远端库地址:https://github.com/yuxuan111/zyx

    第一部分:要求

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

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

    第二部分:设计

    扩展方向

    1. 用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数。(王勇泰)
    2. 用户在第一次答题时,需要用户输入用户名,用户下次启动后,程序需要记住用户前一次输入的用户名 。(曾宇轩)
    3. 程序可以出单个整数阶乘的题目:如:4!=24。(曾宇轩)
    4. 程序可以设置答题时间,时间设置为整数,单位为秒,最大不能超过120秒,若超过了答题时间未答题,则提示:时间已到,不能答题。(曾宇轩)
    5. 程序可以设置皮肤功能,可以改变界面的颜色即可。(王勇泰)

    开发环境与调试:Myeclipse 9

    在浏览器中输入网址测试:

    首页页面:http://desktop-n6cbhnt:8080/aa/input.jsp

    题目页面:http://desktop-n6cbhnt:8080/aa/index.jsp

    结果页面:http://desktop-n6cbhnt:8080/aa/Result.jsp

    三、个人软件过程耗时估计与统计表

    四、主要代码:

    1.用cookie方法保存第一次登录的用户名,在input.jsp中,setCookie为保存用户名,getCokkie为得到用户名,removeCookie为删除用户名。

    <script type="text/javascript">
    function setCookie(key,value,t){
        var  myDate=new Date();
        myDate.setDate(myDate.getDate()+t);
        document.cookie=key+"="+value+ ";expires="+myDate.toGMTString();
    }
    
    function getCookie(key){
        var arr1 = document.cookie.split('; ');
        for (var i=0; i<arr1.length; i++) {
            var arr2 = arr1[i].split('=');
            if ( arr2[0] == key ) {
                return decodeURI(arr2[1]);
            }
        }
    }
    
    function removeCookie(key) {
        setCookie(key, '', -1);
    }
     </script>
    
     <script>
    window.onload = function() {
    
        var oUsername = document.getElementById('username');
        var oLogin = document.getElementById('login');
        var oDel = document.getElementById('del');
    
        if ( getCookie('username') ) {
            oUsername.value = getCookie('username');
        }
    
        oLogin.onclick = function() {
            alert('登录成功');
            setCookie('username', oUsername.value, 5);
        };
    
        oDel.onclick = function() {
            removeCookie('username');
            oUsername.value = '';
        };
    };

    2.阶乘最大为10的阶乘,结果为answer1[i],在index.jsp中。

    else{
                  int []sum=new int[10];;int [] a=new int[10];
                  a[1]=(int)(Math.random()*10+1);
                  sum[1]=a[1];int shu;
                 
                 str[i]+=a[1]+"!";
                if(a[1]==1)
               { 
                 answer1[i]=""+a[1];
               }
               else{
                  for(shu=1;shu<a[1];shu++)
               {
               sum[1]=sum[1]*(a[1]-shu);
                }
               answer1[i]=""+sum[1];
              }
              out.print(a[1]+"!");   
    }  

    3.考试时间为120秒,当考试结束弹出时间已到,不能答题的文本框,setInterval为定时器让showTime函数每秒执行一次,在index.jsp中。

    <script type="text/javascript">
     var second =120; 
    // 剩余秒数 
    function showTime(){
    
     document.getElementById("myTime").innerText=second.toString()-1;
     second--;
     if((second==0))
     alert("时间已到,不能答题。");
     }
      //然后写一个定时器 
      setInterval("showTime()",1000);     
      </script>
      </head>
      <body>
      <center>答题时间为120秒,剩余时间为<span id="myTime"></span></center> 

    五、运行结果截图:

    1.记录用户名

    2.阶乘题目

    3.提示时间到

    六、结对过程

    1、结对成员

    2、扩展方向

    王勇泰)

    1. 用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数。
    2. 程序可以设置皮肤功能,可以改变界面的颜色即可。

    曾宇轩)

    1. 用户在第一次答题时,需要用户输入用户名,用户下次启动后,程序需要记住用户前一次输入的用户名 。
    2. 程序可以出单个整数阶乘的题目:如:4!=24。
    3. 程序可以设置答题时间,时间设置为整数,单位为秒,最大不能超过120秒,若超过了答题时间未答题,则提示:时间已到,不能答题。

    3、结对照片

    七、总结

    我们并不是第一次结对,通过前几次的组队已经有了一些默契,在解决问题时通过上网查找资料并与同学讨论,最后产生了升级版的四则运算,还有很多需要很多完善的地方,比如容错性和界面的设计,等等,这些是我们以后需要努力的方向。遇到的问题是session.getAttributet得到空值,测试了很多次获取答题时间都无法成功,送给自己一句话:万水千山总是情,聚散也有天注定。

  • 相关阅读:
    图片处理帮助类
    网站前端的优化
    状态码大全
    服务端性能监控工具Nmon使用方法
    jmeter测试报告解析
    jmeter聚合报告
    jmeter跨线程组调用参数
    jmeter生成测试报告
    Jmeter获取cookie
    monkey的使用方法和常见命令
  • 原文地址:https://www.cnblogs.com/zyx1998/p/9846109.html
Copyright © 2020-2023  润新知