四则运算表达式网页版

在网页上面生成一个四则运算表达式,用户可以输入表达式的值,然后系统提示结果是否正确。这个网页程序比本机程序来说容易一点,一是因为表达式中运算符的个数不超过三个,表达式容易获得。还有就是javascript自带了一个计算表达式的值的函数,我们可以调用这个函数来完成对表达式值的计算。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP ‘MyMath.jsp‘ starting page</title>

    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>

  <body>
    <div id="cal">
        <p>
            <span id="bracket1left"></span> <span id="num1">100</span> <span id="sign1">+</span> <span id="bracket2left"></span> <span id="num2">100</span> <span id="bracket1right"></span> <span id="sign2">+</span> <span id="num3">100</span> <span id="bracket2right"></span> <span>=</span>
        </p>
        <p>请输入答案
            <input type="text" id="answer" value="" maxlength="8" style="width:50px;">
        </p>
        <p>
            <input type="button" name="button" id="btnAns" value="答题" style="width:50px;height:30px;">
            <input type="button" name="button" id="btnNext" value="继续" style="dispaly:none;width:50px;height:30px;">
        </p>
        <p id="sans">
            <span></span>
        </p>
    </div>
    <script type="text/javascript">
        function getEleById(id)
        {
            return document.getElementById(id);
        }
        function randomNumber(limit)
        {
            return Math.floor(Math.random()*limit);
        }
        var sign = new Array("+","-","*","/");
        var numa,numb,numx,num;
        var countSign1 = "+",countSign2 = "+";
        getEleById("btnNext").onclick = function()
        {
            this.style.display = "none";
            getEleById("btnAns").style.display = "inline";
            getEleById("answer").disabled = "";
            getEleById("answer").value = "";
            getEleById("sans").innerHTML = "";
            do
            {
                numa = randomNumber(10);
                numb = randomNumber(10);
                numx = randomNumber(10);
                coutSign1 = sign[randomNumber(100)%4];
                coutSign2 = sign[randomNumber(100)%4];
            }
            while((numb == 0 && coutSign1 == "/") || (numx == 0 && coutSign2 == "/"))
            numa = numa.toString(10);
            numb = numb.toString(10);
            numx = numx.toString(10);
            getEleById("num1").innerHTML = numa;
            getEleById("sign1").innerHTML = coutSign1;
            getEleById("num2").innerHTML = numb;
            getEleById("sign2").innerHTML = coutSign2;
            getEleById("num3").innerHTML = numx;
            var num = Math.floor(Math.random()*3);
            num = num.toString(10);
            if(num == 0)
            {

            }
            if(num == 1)
            {
                getEleById("bracket1left").innerHTML = "(";
                getEleById("bracket1right").innerHTML = ")";
                if((getEleById("bracket2left").innerHTML == "(" && getEleById("bracket1right").innerHTML == ")")
                ||(getEleById("bracket2right").innerHTML == ")" && getEleById("bracket1right").innerHTML == ")"))
                {
                    getEleById("bracket1left").innerHTML = "";
                    getEleById("bracket1right").innerHTML = "";
                    getEleById("bracket2left").innerHTML = "";
                    getEleById("bracket2right").innerHTML = "";
                }

            }
            if(num == 2)
            {
                getEleById("bracket2left").innerHTML = "(";
                getEleById("bracket2right").innerHTML = ")";
                if(getEleById("bracket2left").innerHTML == "(" && getEleById("bracket1right").innerHTML == ")"
                ||(getEleById("bracket2right").innerHTML == ")" && getEleById("bracket1right").innerHTML == ")"))
                {
                    getEleById("bracket1left").innerHTML = "";
                    getEleById("bracket1right").innerHTML = "";
                    getEleById("bracket2left").innerHTML = "";
                    getEleById("bracketright").innerHTML = "";
                }

            }
            getEleById("answer").foucs();
        }
        getEleById("btnAns").onclick = function()
        {
            if(getEleById("answer").value=="" || isNaN(getEleById("answer").value))
            {
                alert("请输入数字");
                getEleById("answer").value = "";
                getEleById("answer").foucs();
                return;
            }
            this.style.display = "none";
            getEleById("btnNext").style.display = "inline";
            if(getEleById("bracket1left").innerHTML == "" && getEleById("bracket2left").innerHTML == "")
            {
                var result = eval(numa+coutSign1+numb+coutSign2+numx);
            }
            if(getEleById("bracket1left").innerHTML == "(")
            {
                var result = eval(‘(‘+numa+coutSign1+numb+‘)‘+coutSign2+numx);
            }
            if(getEleById("bracket2left").innerHTML == "(")
            {
                var result = eval(numa+coutSign1+‘(‘+numb+coutSign2+numx+‘)‘);
            }
            var isRight = false;
            if(/^[-]{0,1}[0-9]{1,}$/.test(result))
            {
                if(result == parseInt(getEleById("answer").value))
                    isRight = true;
            }
            else
            {
                result = result.toFixed(1);
                var ans = parseFloat(getEleById("answer").value);
                getEleById("answer").value = ans;
                if(result - getEleById("answer") < 0.01)
                {
                    isRight = true;
                }
            }
            if(isRight == true)
            {
                getEleById("sans").innerHTML = "答对了!";
            }
            else
            {
                getEleById("sans").innerHTML = "答错了!正确答案是:"+result.toString()+"。";
            }
        }
        document.body.onload = function()
        {
            getEleById("btnNext").onclick();
        }
        document.body.onkeyup = function()
        {
            if(13 == event.keyCode)
            {
                if(getEleById("btnAns").style.display == "none")
                {
                    getEleById("btnNext").onclick();
                }
                else
                {
                    getEleById("btnAns").onclick();
                }
            }
        }
    </script>
  </body>
</html>

答题

没有输入运算结果

输入非数字

回答正确

回答错误

时间: 2024-11-09 14:49:18

四则运算表达式网页版的相关文章

小学四则运算练习题网页版结对项目报告

一.项目结构 二.计算模块和界面模块间的调用 三.页面演示效果 四.遇到问题 五.知识点记录 六.新知识新技能 七.未实现但计划实现功能 八.学习目标与总结 项目地址:https://git.dev.tencent.com/hey_wuqw/webArithmetic.git 一.项目结构 二. 计算模块和界面模块间的调用 三.页面演示效果 四.遇到问题 1.check()方法(用于接收答题页面传来的参数,请求从answer.jsp(答题界面)转发到result.jsp(做题结果界面))需要访问

结对作业:四则运算网页版

coding克隆仓地址:https://git.coding.net/huyifeng1998/jieduixiangmu.git 一.预期PSP: 二.结对编程对接口的设计 information hiding: 信息隐藏是指在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据),对于不需要这些信息的其他模块来说,是不可访问的. 我们在结对项目中将各种经常用到的类和方法放在外联,而不是内嵌在一个类中,这样每个类分工明确,便于修改.信息隐藏同时体现在各种类.算法对用户不可见,能隐藏复杂度

网页版的四则运算出题

用javaweb编写的网页版的四则运算出题 这个网页自己可以控制总的出题数目,以及自己所要要求的每行输出的个数, 之后再出题中应用到了随机数,并且在代码中,保证每一道题不是重复的,在一次做题中仅仅出现一次,并且自己还设定了相应的出题规则. 主要代码如下主要分为四个界面. 界面1: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8&qu

软件工程个人作业04-四则运算网页版

在网页上面生成一个四则运算表达式,用户可以输入表达式的值,然后系统提示结果是否正确.这个网页程序比本机程序来说容易一点,一是因为表达式中运算符的个数不超过三个,表达式容易获得.还有就是javascript自带了一个计算表达式的值的函数,我们可以调用这个函数来完成对表达式值的计算. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% Str

游戏——网页版别踩白块

一 项目简介 主要知识点:JavaScript.HTML.CSS这是一个主要用JS实现的网页版小游戏,游戏规则很简单,通过点击不断下落的黑块来消灭它并获取分数,如果不幸黑块掉落下来或点到了白色区域那么游戏就会终止.游戏截图如下: 二 游戏框架 整个游戏可分为以下几个步骤实现:1. HTML和CSS画出静态的游戏框架:2. DOM结构说明:游戏元素使用嵌套的div元素来实现,是一个4*4的方格地图:最外层容器main(一个) > 次外层容器container(一个) > 行容器row(四行) &

一个简单的税利计算器(网页版)

嗯嗯,做一个简单的网页版的税率计算器,功能比较简单,但是相对比较实用.因为参考了一些其他作品,所以在计算汇率的时候习惯性的是以美元做单位.具体的功能有着较为详细的标注.仅供大家学习参考下. <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>JavaScript Loan Calculator</title>

Pongo网页版JavaScript源代码及设计思路

1.游戏背景介绍(写在前面的废话): 五月初的某天,看到某网推荐了这款游戏,Pongo,看着还不错的样子就用ipad下下来试玩了下,玩了两局感觉还错挺过瘾的,因为是手欠类游戏嘛大家懂的. 但是没一会发现游戏在ipad似乎有些bug,玩一会就会卡住然后只能强退了,真是揪心,记录还等着破呢. 怎么办?玩游戏不如玩自己的游戏的念头又邪恶的出现了,然后就把pad丢给了朋友虐心去,我默默回到电脑前开始动手自己写个不会卡的. 大概两小时吧,写出了基本框架,然后扔sinaapp里试了下效果基本能玩就洗洗睡了.

二手书网页版mis系统

在小学期这几天的时间,自己将上个学期做的书书网二手书app做出了网页版.该系统只要分为前端用户界面和后端管理员界面. 管理员具有添加书的一级分类和二级分类的功能. 用户具有买书和卖书的功能. 下面是源程序和截图: 截图: 前台界面:     后台界面: 这里的分类用了二级菜单的模式,如果不选择父类,就是添加一级分类,否则就是某一级分类下的二级分类. 下面是源程序的下载路径:(数据库表我就不展示了),主要是一些javabean和servlet.如果想要所有的源代码可以联系我. https://pa

四则运算表达式求值 OpenJ_Bailian - 4132

四则运算表达式求值 OpenJ_Bailian - 4132 题意:设计一个计算器,实现+-*/以及()的表达式运算求值. 栈的应用,这学期学数据结构,手写了栈练一下~ 1 #include <bits/stdc++.h> 2 using namespace std; 3 const int maxn=10010; //最大表达式长度 4 5 template <typename T> 6 class Stack; 7 8 template <typename T> 9