• 四则运算2


    1设计思想

    本题四则运算需要满足加减法在100以内,乘除法满足九九运算表,使用java文件判断是否满足加减法条件,利用JavaScript计时器来计时。
    2源程序代码
    仅写java及jsp文件
    1 package com.sizeuser.msg.calculate;
    2 public interface Calculate {
    3 public int add(int add1,int add2);
    4 public int subtraction(int subtract1,int subtract2);
    5 public int multiply(int multiply1,int multiply2);
    6 public int divid(int dividend,int divid);
    7 }
    Calculate.java
     1 package com.sizeuser.msg.calculate;
     2 
     3 import java.util.Random;
     4 
     5 import org.apache.jasper.tagplugins.jstl.core.Out;
     6 
     7 import com.sun.org.apache.bcel.internal.generic.ReturnaddressType;
     8 
     9 public class CalculateImpl implements Calculate{
    10     static Random random=new Random();
    11     @Override
    12     public int add(int add1, int add2) {
    13         int sum;
    14         if(add1+add2<=100&&add1+add2>0)
    15         {
    16             sum=add1+add2;
    17             return sum;
    18         }
    19         return 0;
    20     }
    21     @Override
    22     public int subtraction(int subtract1, int subtract2) {
    23         int sum;
    24         if(subtract1-subtract2>0)
    25         {
    26             sum=subtract1-subtract2;
    27             return sum;
    28         }
    29         return 0;
    30     }
    31     @Override
    32     public int multiply(int multiply1, int multiply2) {
    33         if(multiply1>0&&multiply1<=9&&multiply2>0&&multiply2<=9)
    34         {
    35         return multiply1*multiply2;
    36         }
    37         return 0;
    38     }
    39     @Override
    40     public int divid(int dividend, int divid) {
    41         if (dividend>0&&dividend<=81&&divid>0&&divid<=9&&dividend%divid==0&&dividend/divid>0&&dividend/divid<9) 
    42         {
    43             return dividend/divid;
    44         }
    45         return 0;
    46     }
    47 
    48    public static void main(String []args)
    49    {
    50        
    51    }
    52 }
    CalculateImpl .java
     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html>
     4 <html>
     5 <head>
     6 <script type="text/javascript">
     7 var t;
     8 var c=0;
     9 //全局变量
    10 function timedCount()
    11 {
    12 
    13     document.getElementById("num").style.display="none";
    14     document.getElementById("jishi").style.display="none";
    15     var txtobj=document.getElementById("num");
    16     var sum=parseInt(txtobj.value)*60;
    17     var sum1=sum-c;
    18     //
    19     var hour=parseInt(sum1/3600);
    20     var    minute=parseInt(sum1/60%60);
    21     if(minute==60||minute<1)
    22         minute=0;
    23     var lastsecs=parseInt(sum1%60);
    24     lastsecs=lastsecs<10?'0'+lastsecs:lastsecs;
    25     minute=minute<10?'0'+minute:minute;
    26     hour=hour<10?'0'+hour:hour;
    27     c++;
    28     document.getElementById("result").innerHTML=hour+":"+minute+":"+lastsecs;
    29     t=setTimeout("timedCount()",1000);
    30  if(sum1==0)
    31  {
    32     clearTimeout(t);
    33     alert("时间到!");
    34  }
    35 }
    36 </script>
    37 </head>
    38 <body>
    39 <form>
    40 
    41 <input type = "text" id = "num" >
    42 <input type="button" id="jishi" value="开始计时!/分" onClick="timedCount()">
    43 <p id="result">
    44 </p>
    45 </form>
    46 </body>
    47 </html>
    CountDown.jsp
    1 <%@ page language="java" contentType="text/html; charset=UTF-8"
    2     pageEncoding="UTF-8"%>
    3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    4 你好
    header
     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <html>
     4 <%@include file="header.jsp" %>
     5 <hr>
     6 <form action="sanze.jsp" method="get">
     7 
     8 请输入混合运算的数量:<input type="text" name="num"/><br>
     9 请输入做题时间:<input type="text" name="time" /><br>
    10 <input type="submit" value="提交" />
    11 </form>
    12 </html>
    初始
      1 <%@page import="com.sizeuser.msg.calculate.CalculateImpl"%>
      2 <%@page import="com.sizeuser.msg.calculate.Calculate"%>
      3 <%@page import="java.util.Random"%>
      4 <%@ page language="java" contentType="text/html; charset=UTF-8"
      5     pageEncoding="UTF-8"%>
      6 <form action="show.jsp" method="get"/>
      7 <head>
      8 <%
      9 String time=request.getParameter("time");
     10 %>
     11 <script type="text/javascript">
     12 var t;
     13 var c=0;
     14 //全局变量
     15 function timedCount()
     16 {
     17     var txtobj=<%=time%>;
     18     var sum=parseInt(txtobj)*60;
     19     var sum1=sum-c;
     20     //
     21     var hour=parseInt(sum1/3600);
     22     var    minute=parseInt(sum1/60%60);
     23     if(minute==60||minute<1)
     24         minute=0;
     25     var lastsecs=parseInt(sum1%60);
     26     lastsecs=lastsecs<10?'0'+lastsecs:lastsecs;
     27     minute=minute<10?'0'+minute:minute;
     28     hour=hour<10?'0'+hour:hour;
     29     c++;
     30     document.getElementById("result").innerHTML=hour+":"+minute+":"+lastsecs;
     31     t=setTimeout("timedCount()",1000);
     32  if(sum1==0)
     33  {
     34     clearTimeout(t);
     35     alert("小朋友,答题时间结束了哦!");
     36     document.getElementById("anniu").click();
     37  }
     38 }
     39 </script>
     40 </head>
     41 <body onLoad="timedCount()";>
     42 <p id="result">
     43 </p>
     44 <%
     45  Random random=new Random();
     46 if(request.getParameter("num")==null||"".equals(request.getParameter("num")))
     47 {
     48 %>
     49     小朋友,你未选择题哦!
     50 <%
     51 }
     52 if(request.getParameter("time")==null||"".equals(request.getParameter("time")))
     53 {
     54     %>
     55     小朋友,你未选择时间哦!
     56 <%
     57 }
     58 else
     59 {
     60 int num=Integer.parseInt(request.getParameter("num"));
     61 session.setAttribute("num1", num);
     62 int i;
     63 Calculate calculateImpl=new CalculateImpl();
     64 int sum[]=new int[num];
     65 String shizi[]=new String [num];
     66 for(i=0;i<num;)
     67 {
     68     int add1=random.nextInt(100);
     69     int add2=random.nextInt(100);
     70     int add3=random.nextInt(100);
     71     int fuhao1=random.nextInt(4);
     72     int fuhao2=random.nextInt(4);
     73     if(fuhao1==0&&fuhao2==0)//0加号
     74     {
     75         if(calculateImpl.add(add2, add3)!=0&&calculateImpl.add(add1, calculateImpl.add(add2, add3))!=0)
     76         {
     77             out.print(add1+"+"+add2+"+"+add3+"=");
     78             shizi[i]=add1+"+"+add2+"+"+add3+"=";
     79             session.setAttribute("Shizi"+i, shizi[i]);
     80             sum[i]=calculateImpl.add(add1, calculateImpl.add(add2, add3));
     81             session.setAttribute("correct"+i, ""+sum[i]);
     82             %>
     83             <input type="text" name="answer<%=i%>">
     84             <br>
     85             <%
     86             i++;
     87         }
     88     }
     89     else if(fuhao1==1&&fuhao2==1)//1减号
     90     {
     91         if(calculateImpl.subtraction(add1, add2)!=0&&calculateImpl.subtraction(calculateImpl.subtraction(add1, add2), add3)!=0)
     92         {
     93             out.print(add1+"-"+add2+"-"+add3+"=");
     94             shizi[i]=add1+"-"+add2+"-"+add3+"=";
     95             session.setAttribute("Shizi"+i, shizi[i]);
     96             sum[i]=calculateImpl.subtraction(calculateImpl.subtraction(add1, add2), add3);
     97             session.setAttribute("correct"+i, ""+sum[i]);
     98             %>
     99             <input type="text" name="answer<%=i%>">
    100             <br>
    101             <%
    102             i++;
    103         }
    104     }
    105     else if(fuhao1==0&&fuhao2==1)//先加后减
    106     {
    107         if(calculateImpl.add(add1, add2)!=0&&calculateImpl.subtraction(calculateImpl.add(add1, add2), add3)!=0)
    108         {
    109             out.print(add1+"+"+add2+"-"+add3+"=");
    110             shizi[i]=add1+"+"+add2+"-"+add3+"=";
    111             session.setAttribute("Shizi"+i, shizi[i]);
    112             sum[i]=calculateImpl.subtraction(calculateImpl.add(add1, add2), add3);
    113             session.setAttribute("correct"+i, ""+sum[i]);
    114             %>
    115             <input type="text" name="answer<%=i%>">
    116             <br>
    117             <%
    118             i++;
    119         }
    120     }
    121     else if(fuhao1==1&&fuhao2==0)//先减后加
    122     {
    123         if(calculateImpl.subtraction(add1, add2)!=0&&calculateImpl.add(calculateImpl.subtraction(add1, add2), add3)!=0)
    124         {
    125             out.print(add1+"-"+add2+"+"+add3+"=");
    126             shizi[i]=add1+"-"+add2+"+"+add3+"=";
    127             session.setAttribute("Shizi"+i, shizi[i]);
    128             sum[i]=calculateImpl.add(calculateImpl.subtraction(add1, add2), add3);
    129             session.setAttribute("correct"+i, ""+sum[i]);
    130             %>
    131             <input type="text" name="answer<%=i%>">
    132             <br>
    133             <%
    134             i++;
    135         }
    136     }
    137     else if(fuhao1==2&&fuhao2==0)//先乘后加
    138     {
    139         if(calculateImpl.multiply(add1, add2)!=0&&calculateImpl.add(calculateImpl.multiply(add1, add2), add3)!=0)
    140         {
    141             out.print(add1+"×"+add2+"+"+add3+"=");
    142             shizi[i]=add1+"×"+add2+"+"+add3+"=";
    143             session.setAttribute("Shizi"+i, shizi[i]);
    144             sum[i]=calculateImpl.add(calculateImpl.multiply(add1, add2), add3);
    145             session.setAttribute("correct"+i, ""+sum[i]);
    146             %>
    147             <input type="text" name="answer<%=i%>">
    148             <br>
    149             <%
    150             i++;
    151         }
    152     }
    153     else if(fuhao1==0&&fuhao2==2)//先加后乘
    154     {
    155         if(calculateImpl.add(add1, add2)!=0&&calculateImpl.multiply(calculateImpl.add(add1, add2), add3)!=0)
    156         {
    157             out.print("("+add1+"+"+add2+""+add3+"=");
    158             shizi[i]="("+add1+"+"+add2+""+add3+"=";
    159             session.setAttribute("Shizi"+i, shizi[i]);
    160             sum[i]=calculateImpl.multiply(calculateImpl.add(add1, add2), add3);
    161             session.setAttribute("correct"+i, ""+sum[i]);
    162             %>
    163             <input type="text" name="answer<%=i%>">
    164             <br>
    165             <%
    166             i++;
    167         }
    168     }
    169     else if(fuhao1==2&&fuhao2==1)//先乘后减
    170     {
    171         if(calculateImpl.multiply(add1, add2)!=0&&calculateImpl.subtraction(calculateImpl.multiply(add1, add2), add3)!=0)
    172         {
    173             out.print(add1+"×"+add2+"-"+add3+"=");
    174             shizi[i]=add1+"×"+add2+"-"+add3+"=";
    175             session.setAttribute("Shizi"+i, shizi[i]);
    176             sum[i]=calculateImpl.subtraction(calculateImpl.multiply(add1, add2), add3);
    177             session.setAttribute("correct"+i, ""+sum[i]);
    178             %>
    179             <input type="text" name="answer<%=i%>">
    180             <br>
    181             <%
    182             i++;
    183         }
    184     }
    185     else if(fuhao1==1&&fuhao2==2)//先减后乘
    186     {
    187         if(calculateImpl.subtraction(add1, add2)!=0&&calculateImpl.multiply(calculateImpl.subtraction(add1, add2), add3)!=0)
    188         {
    189             out.print("("+add1+"-"+add2+""+add3+"=");
    190             shizi[i]="("+add1+"-"+add2+""+add3+"=";
    191             session.setAttribute("Shizi"+i, shizi[i]);
    192             sum[i]=calculateImpl.multiply(calculateImpl.subtraction(add1, add2), add3);
    193             session.setAttribute("correct"+i, ""+sum[i]);
    194             %>
    195             <input type="text" name="answer<%=i%>">
    196             <br>
    197             <%
    198             i++;
    199         }
    200     }
    201     else if(fuhao1==3&&fuhao2==0)//先除后加
    202     {
    203         if(calculateImpl.divid(add1, add2)!=0&&calculateImpl.add(calculateImpl.divid(add1, add2), add3)!=0)
    204         {
    205             out.print(add1+"÷"+add2+"+"+add3+"=");
    206             shizi[i]=add1+"÷"+add2+"+"+add3+"=";
    207             session.setAttribute("Shizi"+i, shizi[i]);
    208             sum[i]=calculateImpl.add(calculateImpl.divid(add1, add2), add3);
    209             session.setAttribute("correct"+i, ""+sum[i]);
    210             %>
    211             <input type="text" name="answer<%=i%>">
    212             <br>
    213             <%
    214             i++;
    215         }
    216     }
    217     else if(fuhao1==0&&fuhao2==3)//先加后除
    218     {
    219         if(calculateImpl.add(add1, add2)!=0&&calculateImpl.divid(calculateImpl.add(add1, add2), add3)!=0)
    220         {
    221             out.print("("+add1+"+"+add2+""+add3+"=");
    222             shizi[i]="("+add1+"+"+add2+""+add3+"=";
    223             session.setAttribute("Shizi"+i, shizi[i]);
    224             sum[i]=calculateImpl.divid(calculateImpl.add(add1, add2), add3);
    225             session.setAttribute("correct"+i, ""+sum[i]);
    226             %>
    227             <input type="text" name="answer<%=i%>">
    228             <br>
    229             <%
    230             i++;
    231         }
    232     }
    233     else if(fuhao1==1&&fuhao2==3)//先减后除
    234     {
    235         if(calculateImpl.subtraction(add1, add2)!=0&&calculateImpl.divid(calculateImpl.subtraction(add1, add2), add3)!=0)
    236         {
    237             out.print("("+add1+"-"+add2+""+add3+"=");
    238             shizi[i]="("+add1+"-"+add2+""+add3+"=";
    239             session.setAttribute("Shizi"+i, shizi[i]);
    240             sum[i]=calculateImpl.divid(calculateImpl.subtraction(add1, add2), add3);
    241             session.setAttribute("correct"+i, ""+sum[i]);
    242             %>
    243             <input type="text" name="answer<%=i%>">
    244             <br>
    245             <%
    246             i++;
    247         }
    248     }
    249     else if(fuhao1==3&&fuhao2==1)
    250     {
    251         if(calculateImpl.divid(add1, add2)!=0&&calculateImpl.subtraction(calculateImpl.divid(add1, add2), add3)!=0)
    252         {
    253             out.print(add1+"÷"+add2+"-"+add3+"=");
    254             shizi[i]=add1+"÷"+add2+"-"+add3+"=";
    255             session.setAttribute("Shizi"+i, shizi[i]);
    256             sum[i]=calculateImpl.subtraction(calculateImpl.divid(add1, add2), add3);
    257             session.setAttribute("correct"+i, ""+sum[i]);
    258             %>
    259             <input type="text" name="answer<%=i%>">
    260             <br>
    261             <%
    262             i++;
    263         }
    264     }
    265 }
    266 %>
    267 <input type="submit" value="我做完了" id="anniu"/>
    268 <%
    269 }
    270 %>
    271 </body>
    sanze.jsp
     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     7 <title>公布答案</title>
     8 </head>
     9 <body>
    10 <%
    11 int num=(int)session.getAttribute("num1");
    12 if(num>0)
    13 {
    14 String shizi[]=new String[num];
    15 String sum1[]=new String[num];
    16 String answer[]=new String[num];
    17 
    18 int i;
    19 for(i=0;i<num;i++)
    20 {
    21     if(session.getAttribute("correct"+i)==null)
    22     {
    23         System.out.println("");
    24     }
    25     shizi[i]=(String)session.getAttribute("Shizi"+i);
    26     sum1[i]=(String)session.getAttribute("correct"+i);
    27     answer[i]=(String)request.getParameter("answer"+i);//输入的数据
    28     if(sum1[i]!=null&&answer[i]!=null&&sum1[i].equals(answer[i].trim()))
    29     {
    30         out.print(shizi[i]+answer[i]+"");
    31         %>
    32         <br>
    33         <%
    34     }
    35     else
    36     {
    37         out.print(shizi[i]+answer[i]+"✘  正确答案为"+sum1[i]);
    38         %>
    39         <br>
    40         <%
    41     }
    42 }
    43 }
    44 %>
    45 </body>
    46 </html>
    show.jsp

    3、程序结构截图

     5、程序代码总结

    本博客仅满足题的基本操作,没有进行页面的美化。

    1、页面直接跳转使用<body onLoad=" hanshu()";>

    2、javaScript中赋值可以使用var a=<%=b%>将变量b的值赋给变量a。

    3、输入框什么都不输为“”

    4、第一次独立开发,做题效率较低,一些基础函数不会使用。

  • 相关阅读:
    关于【缓存穿透、缓存击穿、缓存雪崩、热点数据失效】问题的解决方案
    pycharm快捷键
    php 整理的零碎知识点
    phpadmin 导出csv格式的数据处理
    python 单例模式的实现
    Java单体应用
    Java单体应用
    Java单体应用
    Java单体应用
    Java单体应用
  • 原文地址:https://www.cnblogs.com/watm/p/8011401.html
Copyright © 2020-2023  润新知