zoukankan      html  css  js  c++  java
  • 四则运算

    程序设计思想:先定义一个.java类,通过随机数函数,来产生试题,产生试题的函数为string类型,最后返回表达式。然后创建HTML和JSP文件,

    用于编写登录界面可以选择试题数量及考试时间。然后在编写判断正确率的一个文件,用于判断所答试题的正确率。

    代码:

    jisuan.html

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    
    <head>
    <title style="color:red">四则运算</title>
    <meta charset="UTF-8">
    
    
    </head>
    <body style="font-size:20px"  background="D:	upianyuyu.jpg">
    <center>
        
        <h1 style="color:red">四则运算</h1>
        <form action="jisuancheck.jsp" method="get">
    <table style="font-size:30px">
            <tr>
                <td> 请选择测试时间:</td>
                <td><input type="radio" name="time" value="1">1分钟
                    <input type="radio" name="time" value="5" >5分钟
                    <input type="radio" name="time" value="10">10分钟
                    
                
                </td>
            
            </tr>
            <tr>
                <td>请选择测试的题目数量:</td>
                <td>
                <select name="number">
                <option value="30">30</option>
                <option value="40">40</option>
                <option value="50">50</option>
                <option value="60">60</option>
                </select>
                </td>
            </tr>
            <tr>
            <td>
            <center>
            <input type = "submit" value = ""style="margin-top:150px;250px;height:250px;
                                background:url(D:/tupian/op.png);background-size:250px 250px;
                                border-style:none;"/>
                                </center>
            </td>
            </tr>
    
       </table>
       
       </form>
       
             </center>
    </body>
    </html>

    jisuan.java

    package yu;
    import java.util.Scanner;
    
    
    public class jisuan{
        int e1;
        int e2;
        int e3;
        int e4;
        int e5;
        int e0;
        int k;
        
        
        public String showQuestion() {
            int a;
            int b;
            int c;
            int d;
            
            Scanner sc = new Scanner(System.in);
            
                a=(int) (Math.random()*100);
                b=(int) (Math.random()*100);
                c=(int) (Math.random()*100);
                d=(int) (Math.random()*6);
                if(d==1) {
                    
                   
                       while(a+b+c>100) {
                           a=(int) (Math.random()*100);
                            b=(int) (Math.random()*100);
                            c=(int) (Math.random()*100);
                           
                           
                       }
                       e1=a+b+c;
                       k=e1;
                       return (a+"+"+b+"+"+c);
                }
                       
                   if(d==2) {
                       while(a-b-c<0) {
                           a=(int) (Math.random()*100);
                            b=(int) (Math.random()*100);
                            c=(int) (Math.random()*100);  
                           
                       }
                       e2=a-b-c;
                       k=e2;
                       return (a+"-"+b+"-"+c);
                   }
                       
                   if(d==3) {
                       while(a+b-c<0||a+b>100) {
                           a=(int) (Math.random()*100);
                            b=(int) (Math.random()*100);
                            c=(int) (Math.random()*100);
                          
                       }
                       e3=a+b-c;
                       k=e3;
                       return (a+"+"+b+"-"+c);
                   }
                       
                   if(d==4) {
                      while(a-b<0||a-b+c>100) {
                          a=(int) (Math.random()*100);
                            b=(int) (Math.random()*100);
                            c=(int) (Math.random()*100);
                           
                      }
                      e4=a-b+c;
                       k=e4;
                       return (a+"-"+b+"+"+c);
                   }
                       
                   if(d==5) {
                      while(a*b>100) {
                          a=(int) (Math.random()*100);
                            b=(int) (Math.random()*100);
                            c=(int) (Math.random()*100);
                      }
                      e5=a*b;
                       k=e5;
                       return a+"*"+b;
                       
                   }
                       
                   if(d==0) {
                       while(a%b!=0) {
                           a=(int) (Math.random()*100);
                            b=(int) (Math.random()*100+1);
                            c=(int) (Math.random()*100);
                          
                       }
                       e0=a/b;
                       k=e0;
                       return a+"÷"+b;
                }
                return null;
                
                
                
            }
        
        
        public int kk() {
            return k;
        }
        
        
        
        
        
        
    }

    jisuancheck.jsp

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <%@page import = "yu.jisuan" %>
    <html>
    <head>
    
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    
    
    <title>四则运算出题界面</title>
    
    <%    int num = 0;
        request.setCharacterEncoding("utf-8");
        
        
        if(request.getParameter("number")!=null){
             num=(Integer.parseInt(request.getParameter("number")));
        }%>
         
       
    
    </head>
    <body  background="D:	upianyu.jpg">
     <div id="timer" style="color:red"></div>
      <center>
       <form  id="myForm" action="jieguo.jsp" method = "get">
       
       
       
        <table border="1" >
        
    
        
        <tr>
        <td>题号</td>
        <td>题目</td>
        <td>答案</td>
        </tr>
        <jsp:useBean id="js" class="yu.jisuan"/>
        
    
        <%
        
        jisuan kt[] = new jisuan[60];
        String sk2="";
        int i;
        for(i=0;i<num;i++){
            kt[i]=new jisuan();
        %>
        <tr>
            <td><%=i+1 %></td>
            <td><%=kt[i].showQuestion() %></td>
            <td width="50px">=<input name="result" id="a<%=i + 1%>"
                    width="8px" style=" 30px"></td>
                <td><div id="r<%=i + 1%>"></div></td>
        </tr>
        <%
        sk2 +=kt[i].kk() +"/";
        session.setAttribute("right", sk2);
          }
        %>
        <tr>
        
                <td colspan="3" align="right">
                <input type = "submit"   value = "完成"/>
                        </td>
            </tr>
         </table>
         
         
         <%    int tm = 0;
        request.setCharacterEncoding("utf-8");
        
        
        if(request.getParameter("time")!=null){
             tm=(Integer.parseInt(request.getParameter("time")));
        }%>
    
    
    <script type="text/javascript"> 
    
      var maxtime = "<%=tm*60%>";
      
       // 半个小时,按秒计算,自己调整!  
        function CountDown(){  
       if(maxtime>=0){  
       var minutes = Math.floor(maxtime/60);  
       var seconds = Math.floor(maxtime%60);  
       var msg = "距离结束还有"+minutes+"分"+seconds+"秒";  
       document.all["timer"].innerHTML=msg;  
      if(maxtime == 1*30) alert('注意,还有半分钟!');  
       --maxtime;  
      }  
      else{  
       clearInterval(timer);  
      alert("时间到,结束!");  
      }  
      }  
      timer = setInterval("CountDown()",1000); 
      
      setTimeout('window.location="jieguo.jsp"',maxtime*1000);
      setTimeout( "submitFun()", maxtime*1000 );
      function submitFun() {
          document.getElementById("myForm").submit();
      }
      
     </script>
         
         </form>
         </center>
     
    
    
    
    
    
    </body>
    </html>

    jieguo.jsp

    <%@page import = "yu.jisuan" %>
    
    
    <%@ 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>
    <body  background="D:	upianjiayou.jpg">
    <center>
    
    <%
    
    String result[] = request.getParameterValues("result");
    String str = (String)session.getAttribute("right");
    String[] right = str.split("/");
    int countright = 0;
    double cod;
    
    for(int i=0;i<right.length;i++)
    {
        if(right[i].equals(result[i]))
        {
            out.println("第"+(i+1)+"题回答正确!");
            countright++;
        }
        else
        {
            out.println("第"+(i+1)+"题回答错误!正确答案为:"+right[i]);
        }
    
        
        %>
        <br>
    <%
    }
    %>
    <%
    cod=countright;
    cod=cod/30*100;
    %>
    <%="共答对了"+countright+"道题"%>
    <%="正确率为"%>
    <%=cod+"%" %>
    <br>
    <td><a href = "jisuan.html">返回选择界面</a>
    </center>
    
    </body>
    </html>

    截图:

  • 相关阅读:
    HNCU 1746: 算法4-1,4-3:定位子串
    HNCU 1330: 算法3-1:八进制数
    HNCU 1741: 算法3-2:行编辑程序
    51NOD 1073 约瑟夫环
    约瑟夫问题
    HNCU1325: 算法2-3~2-6:Big Bang(静态链表)
    指针知识复习
    html----学完总结
    html7---转载---为何img,input等内联元素可以设置高度与宽度
    html6---转载---块级元素与行内元素
  • 原文地址:https://www.cnblogs.com/lwq666/p/8017444.html
Copyright © 2011-2022 走看看