• 四则运算最终版


    结对小组成员:宋家林,张泽敏

    程序设计思路:这个四则运算的最终版本完全可以与我们正在学的javaweb相结合,比如javaweb中的背景图的添加,换行,以及字体居中等等,这些知识的学习都使我对与这个四则运算的设计有了更多的想法。前些日子刚好在写javaweb的增删改查,并且显示操作之后的结果,刚好就可以用到这里。我设计了一个shuru.jsp,这就是网页的最初界面,在这个界面我们可以选择要出的题目数量以及题目的难易程度,在选择完成之后我们可以点击开始答题按钮来进行答题。之后的ti.jsp则是用来出题的,如果选择了基础运算,那么只会出现简单的加减乘除问题,如果选择了高级运算,就会出现比较复杂的混合运算,当答题结束之后,点击确定按钮来结束答题。最后的jieguo.jsp则是用来比较用户给出的答案与正确答案,设置一个count来统计用户答对题的数量,如果相同就显示“答对了,真棒!”,让后count++,反之就显示“答错了,真遗憾!”,最后显示用户答对的题目数量。

    程序代码:

    <%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>结果</title>
    </head>
    <body background="picture/132.jpg">
    <%
    String[] s= (String[])session.getAttribute("v1");
    String[] answer= (String[])session.getAttribute("v2");
    String[] daan=new String[s.length];
    int count=0;//正确答案的个数
    for(int i=0;i<s.length;i++)
    {
    out.print("运算式为:");
    out.print(s[i]+" ");
    out.print("您的输入结果为:");
    daan[i]=request.getParameter("name"+i);
    out.print(daan[i]+" ");
    out.print("正确结果为:");
    out.print(answer[i]);
    if(Integer.parseInt(daan[i])==Integer.parseInt(answer[i]))
    {
    out.print("答对了,真棒!");
    count++;
    }
    else
    {
    out.print("答错了,真遗憾!");
    }
    out.print("<br>");
    }
    out.print("你一共答对的题目数:");
    out.print(count);
    %>
    </body>
    </html>
    
    <%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>首页</title>
    </head>
    <body background="picture/132.jpg">
    <form name="form1" method="post"action="ti.jsp">
    <center>四则运算</center>
    <table align="center">
    <tr>
    <td> 请输入要出题的题目数量: </td>
    <td> <input name="shuliang" type="text" id="shuliang"maxlength="5"></td>
    </tr>
    <tr>
    <td>请选择计算的难易程度:
    </td>
    <td>
    <select name="leixing">
    <option value=1>基础运算</option>
    <option value=2>高级运算</option>
    </select>
    </td>
    </tr>
    </table>
    <center><input type="submit"value="开始答题"></center>
    </form>
    </body>
    </html>
    
    <%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Insert title here</title>
    </head>
    <body background="picture/132.jpg">
    <%
    String leixing=request.getParameter("leixing");
    if(Integer.parseInt(leixing)==1)
    {
    %>
    
    <% 
    
    int answer; //所出题目的答案
    String j=request.getParameter("shuliang");//出的题的数量
    int shuliang= Integer.valueOf(j);
    String[] str=new String[shuliang];
    String[] daan=new String[shuliang];//用户输入的答案
    String[] answer1=new String[shuliang]; //计算之后的正确答案
    for(int i=0;i<shuliang;i++)
    {
    daan[i]="name"+i;
    //生成0-100之间的随机数
    int num1=(int)(Math.random()*100);
    int num2=(int)(Math.random()*100);
    int fuhao= (int)(Math.random()*4);
    if(fuhao==0)
    {
    str[i]=num1+"+"+num2+"=";
    answer=num1+num2;
    }
    else if(fuhao==1)
    {
    str[i]=num1+"-"+num2+"=";
    answer=num1-num2;
    }
    else if(fuhao==2)
    {
    str[i]=num1+"*"+num2+"=";
    answer=num1*num2;
    }
    else
    {
    str[i]=num1+"/"+num2+"=";
    answer=num1/num2;
    }
    
    answer1[i]=""+answer;
    out.print(str[i]);
    
    
    %> 
    <br>
    <form name="form2"method="post"action="jieguo.jsp">
    请输入你的答案:<input name="<%=daan[i] %>" type="text" id="daan"maxlength="5">
    <br>
    
    <%
    }
    %>
    <%
    session.setAttribute("v1",str);
    session.setAttribute("v2",answer1);
    %>
    <input type="submit"value="确定">
    </form> 
    <%
    }
    %>
    
    <%
    if(Integer.parseInt(leixing)==2)
    {
    int answer; //所出题目的答案
    String j=request.getParameter("shuliang");//出的题的数量
    int shuliang= Integer.valueOf(j);
    String[] str=new String[shuliang];
    String[] daan=new String[shuliang];//用户输入的答案
    String[] answer1=new String[shuliang]; //计算之后的正确答案
    
    for(int i=0;i<shuliang;i++)
    {
    daan[i]="name"+i;
    str[i]=""+(int)((Math.random()*100)); //在1-100之间随机产生一个数
    int num=(int)(Math.random()*4+2);
    int jisuan[]=new int[num+1];//用于保存中间结果
    jisuan[0]=Integer.parseInt(str[i]);
    char yunsuanfu[]=new char[num+1];
    for(int l=1;l<num;l++)
    {
    int fuhao= (int)(Math.random()*4);//用1-4代表符号,随机产生数字
    int num2=(int)(Math.random()*100);
    jisuan[l]=num2;
    if(fuhao==0)
    {
    str[i]+="+"+num2;
    yunsuanfu[l]='+';
    }
    if(fuhao==1)
    {
    str[i]+="-"+num2;
    yunsuanfu[l]='-';
    }
    if(fuhao==2)
    {
    str[i]+="*"+num2;
    yunsuanfu[l]='*';
    }
    if(fuhao==3)
    {
    str[i]+="/"+num2;
    yunsuanfu[l]='/';
    }
    }
    out.print(str[i]+"<br>");
    for(int l=1;l<num;l++)
    {
    if(yunsuanfu[l]=='*')
    {
    jisuan[l]=jisuan[l-1]*jisuan[l];
    jisuan[l-1]=0;
    yunsuanfu[l]=yunsuanfu[l-1];
    }
    else if(yunsuanfu[l]=='/')
    {
    jisuan[l]=jisuan[l-1]/jisuan[l];
    jisuan[l]=0;
    yunsuanfu[l]=yunsuanfu[l-1];
    }
    }
    for(int l=1;l<num;l++)
    {
    if(yunsuanfu[l]=='+')
    {
    jisuan[l]=jisuan[l-1]+jisuan[l];
    jisuan[l-1]=0;
    }
    else if(yunsuanfu[l]=='-')
    {
    jisuan[l]=jisuan[l-1]-jisuan[l];
    jisuan[l-1]=0;
    }
    }
    answer1[i]=""+jisuan[num-1];
    %>
    <br>
    <form name="form2"method="post"action="jieguo.jsp">
    请输入你的答案:<input name="<%=daan[i] %>" type="text" id="daan"maxlength="5">
    <br>
    <%
    }
    %>
    <%
    session.setAttribute("v1",str);
    session.setAttribute("v2",answer1);
    %>
    <input type="submit"value="确定">
    </form> 
    <% 
    }
    %>
    
    <table>
    <tr>
    </tr>
    </table>
    </body>
    </html>

    程序结果:

  • 相关阅读:
    [Python]小甲鱼Python视频第038课(类和对象:继承 )课后题及参考解答
    [Python]小甲鱼Python视频第037课(类和对象:面向对象编程 )课后题及参考解答
    [Python]小甲鱼Python视频第036课(类和对象:给大家介绍对象 )课后题及参考解答
    Session共享
    防止表单重复提交
    Docker安装redis
    Docker安装mysql
    docker-compose常用命令
    Docker常用命令
    Oracle 随机取记录
  • 原文地址:https://www.cnblogs.com/qq1499632156/p/6679578.html
Copyright © 2020-2023  润新知