如何用jsp实现一个简易计算器(三)

做这个jsp页面,主要是为了实现在同一个页面提交和接受数据的功能

这个小程序存在很多不足,希望大家多多批评指正。

<%@ page language="java" contentType="text/html;" pageEncoding="gbk"%>
<!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=gbk">
<title>my simple calculate</title>

<script type="text/javascript" >
	// 输入判断,要求必须是数字格式
	function check_num() {
		var re = /^[0-9,]*$/;

		if((!(new RegExp("\\S+")).test(document.getElementById("number1").value))&&(!(new RegExp("\\S+")).test(document.getElementById("number2").value))){
			alert("请输入数一、数二!");
			document.getElementById("number1").focus();
			return false;
		}else if(!(new RegExp("\\S+")).test(document.getElementById("number1").value)){
			alert("请输入数一!");
			document.getElementById("number1").focus();
			return false;
		}else if(!(new RegExp("\\S+")).test(document.getElementById("number2").value)){
			alert("请输入数二!");
			document.getElementById("number2").focus();
			return false;
		}

		if ((!re.test(document.getElementById("number1").value))
				&& (!re.test(document.getElementById("number2").value))) {
			alert("数一、数二都不是数字,请输入数字!");
			document.getElementById("number1").focus();
			return false;
		} else if (!re.test(document.getElementById("number1").value)) {
			alert("数一不是数字,请输入数字!");
			document.getElementById("number1").focus();
			return false;
		} else if (!re.test(document.getElementById("number2").value)) {
			alert("数二不是数字,请输入数字!");
			document.getElementById("number2").focus();
			return false;
		}
		document.form1.submit();
		return true;
	}
</script>

</head>
<body>
	<%
		// 获取输入框输入的数一、数二
		String numString1 = request.getParameter("number1");
		String flagString = request.getParameter("flag");
		String numString2 = request.getParameter("number2");

		int num1 = 0;
		int num2 = 0;
		int result = 0;
		boolean flag = false;
		// 判断输入值是否为空,不为空,根据不同符号进行计算
		if (numString1 != null && numString2 != null) {
			num1 = Integer.parseInt(numString1);
			num2 = Integer.parseInt(numString2);
			flag = true;
			if (flagString.equals("+")) {
				result = num1 + num2;
			} else if (flagString.equals("-")) {
				result = num1 - num2;
			} else if (flagString.equals("*")) {
				result = num1 * num2;
			} else {
				result = num1 / num2;
			}
		}
	%>
	<div style="padding: 10px; margin: 15px auto; width: 170px; height: 280px; border: 2px solid #ccc; background-color:#ccc;">
		<h4 align="center">简易计算器</h4>
		<hr>
		<form name="form1" action="compute.jsp" method="get">
			数一: <input type="text" id="number1" name="number1" value="" size="15">
			<br>
			<div style="position: relative; height: 15px; margin-top: 10px;" align="left">
				<select name="flag">
					<option value=+>+</option>
					<option value=->-</option>
					<option value=*>*</option>
					<option value= />/
					</option>
				</select>
			</div>
			<br>
			数二: <input type="text" id="number2" name="number2" value="" size="15">
			<br>
			<br>
			<input type="button" name="button1" value="计算" onclick="check_num()">
		</form>

		<br> 计算结果:
		<%
			if (flag)
				out.println(result);
			flag = false;
		%>
	</div>
</body>
</html>

实现效果如下:

时间: 09-05

如何用jsp实现一个简易计算器(三)的相关文章

c语言:编写一个简易计算器,打印菜单界面,实现加减乘除运算,可以退出菜单界面

.编写一个简易计算器 程序: #include<stdio.h> enum  OP { EXIT,//0 ADD,//1 SUB,//2 MUL,//3 DIV//4 }; void menu()//menu表示菜单 { printf("**** 1.add  ****\n"); printf("**** 2.sub  ****\n"); printf("**** 3.mul  ****\n"); printf("**** 

制作一个简易计算器——基于Android Studio实现

一个计算器Android程序的源码部分分为主干和细节两部分. 一.主干 1. 主干的构成 计算器的布局 事件(即计算器上的按钮.文本框)监听 实现计算 2. 详细解释 假设我们的项目名为Calculator,而布局名称(Layout Name)为默认的activity_main .即设置如下图所示: 在这种前提下,有: 设置计算器布局的文件:Calculator/app/src/main/res/layout/activity_main.xml 事件监听和计算实现在同一个文件里:Calculat

如何用 Python 写一个简易的抽奖程序

不知道有多少人是被这个头图骗进来的:) 事情的起因是这样的,上周有同学问小编,看着小编的示例代码敲代码,感觉自己也会写了,如果不看的话,七七八八可能也写的出来,但是一旦自己独立写一段程序,感觉到无从下手. 其实这个很正常,刚开始学习写代码,都是跟着别人的套路往下写,看的套路少,很难形成自己的套路,这就和做数学题是一样的,做一道题就想会所有的题目,这个可能性微乎其微,都是通过大量的练习来摸索到自己的套路. 正好快过年了,各个公司都会搞一些抽奖活动,小编今天就来聊一下,如果要写一个简单的抽奖程序,小

JS制作一个简易计算器

//javascript简易计算器 <!DOCTYPE html> <html>  <head>   <title> 事件</title>     <script type="text/javascript">    function count(){             //获取第一个输入框的值     var node1=document.getElementById('txt1').value;     

用Python实现一个简易计算器

自己动手写计算器 一.功能分析 用户输入一个类似这样 3*( 4+ 50 )-(( 100 + 40 )*5/2- 3*2* 2/4+9)*((( 3 + 4)-4)-4) 这样的表达式,假设表达式里面除了包含空格.'+'.'-'.'*'.'/'和括号再无其他特殊符号,然后直接动手写代码解析其中的表达式,实现加减乘除,最后得出的结果与真实的计算机所算的结果必须一致. 二.所需的知识点 字符串的处理 正则表达式的运用 函数递归 三.程序实现流程分析 处理用户输入的字符串,去除多余的空格 用正则表达

用jQ实现一个简易计算器

HTML和CSS结构: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <script src="jq.js"></script> 7 <style> 8 input[type="t

java 实现一个简易计算器

import java.util.Scanner;public class Test { public static void main(String[] args) { count(); } public static void count() { Scanner input1 = new Scanner(System.in); System.out.println("输入一个数"); double a = input1.nextDouble(); while (true) { Sc

用iOS 做一个简易计算器 (功能完备)

源码(.m文件) #import "ZKJAppDelegate.h" @interface ZKJAppDelegate () @property (retain,nonatomic) UIView *containView; @property (retain, nonatomic) UIButton *button; @property (retain, nonatomic) UILabel *label; @property (retain, nonatomic) NSMuta

函数调用_猜数字和简易计算器

package app1; import java.util.*; public class TestFunction{     public static void main(String[] args){         Scanner sc=new Scanner(System.in);         System.out.print("请选择一项应用:\n1.猜数字\n2.简易计算器");         int n=sc.nextInt();         switch(