第一个jsp代码实现简单计算器
a.新建mycal.Jsp,把简单计算机的框架写出来:
<form action="myresult.jsp">
请输入第一个数:<input type="text" name="num1"><br>
<select name="flag">
<option value=+>+</option>
<option value=+>-</option>
<option value=+>*</option>
<option value=+>/</option>
</select>
请输入第二个数:<input type="text" name="num2"><br>
<input type="submit" value="计算">
</form><br>
<hr>
<!-- 这里输出计算的结果 -->
计算结果:<%= result %><!-- 表达式语法 -->
</body>
b.新建myresul.jsp,把简单算法写进去:
<body>
<%
//接收第一个数
String s_num1=request.getParameter("num1");
//接收第二个数
String s_num2=request.getParameter("num2");
//接收预算符号
String flag=request.getParameter("flag");
int num1=0;
int num2=0;
int result=0;
//java中 String--int
num1=Integer.parseInt(s_num1);
num2=Integer.parseInt(s_num2);
//计算
if(flag.equals("+")){
result=num1+num2;
}else if (flag.equals("-")){
result=num1-num2;
}
else if (flag.equals("*")){
result=num1*num2;
}else{
result=num1/num2;
}
//输出结果
out.print("结果是:"+result):
%>
c.这样运行的结果是没有问题的,如果更简化计算操作则需要将两个.jsp文件合并:
<%@ 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 'ssss.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">
<!-- 在jsp中添加js代码,防止用户空提交 -->
<script language="javascript">
function checkNum(){
//alert("shaji");
//alert(form.num1.value);
//判断num1,是不是空的
if(form.num1.value==""){
window.alert("num1,不能为空haha");
}
//判断num1,是不是一个数
if(Math.round(form.num1.value)!=form.num1.value){
window.alert("num1,不是一个数");
}
}
</script>
</head><h1>我的计算器</h1>
<!-- 这是计算机的界面 -->
<body>
<%
int result=0;
//接收第一个数
if(request.getParameter("num1")!=""){
String s_num1=request.getParameter("num1");
//接收第二个数
String s_num2=request.getParameter("num2");
//接收预算符号
String flag=request.getParameter("flag");
int num1=0;
int num2=0;
//int result=0;
//java中 String--int
if(s_num1!=null){
num1=Integer.parseInt(s_num1);
}
if(s_num2!=null){
num2=Integer.parseInt(s_num2);
}
//计算
if(flag!=null){
if(flag.equals("+")){
result=num1+num2;
}else if (flag.equals("-")){
result=num1-num2;
}
else if (flag.equals("*")){
result=num1*num2;
}else{
result=num1/num2;
}
//输出结果
out.print("结果是:"+result);
}
}
%>
<form name="form" action="ssss.jsp">
请输入第一个数:<input type="text" name="num1"><br>
<select name="flag">
<option value=+>+</option>
<option value=->-</option>
<option value=*>*</option>
<option value=/>/</option>
</select>
请输入第二个数:<input type="text" name="num2"><br>
<input type="submit" value="计算" onclick="checkNum()" >
</form><br>
<hr>
<!-- 这里输出计算的结果 -->
计算结果:<%=result %><!-- 表达式语法 -->
</body>
</html>
第一个jsp代码实现简单计算器的更多相关文章
- 平时没有怎么用Excel做 加减乘除 计算,猛地发现,其实Excel 是一个很好的简单计算器
平时没有怎么用Excel做 加减乘除 计算,猛地发现,其实Excel 是一个很好的简单计算器
- JavaWeb学习记录(二十)——Model1模式(javaBean+jsp)实现简单计算器案例
¨JSP技术提供了三个关于JavaBean组件的动作元素,即JSP标签,它们分别为: ¨<jsp:useBean>标签:用于在JSP页面中查找或实例化一个JavaBean组件. ¨< ...
- 多线程学习-基础( 十)一个synchronized(){/*代码块*/}简单案例分析
一.提出疑惑 上一篇文章中,分析了synchronized关键字的用法.但是好像遗漏了一种情况. 那就是: synchronized(obj){/*同步块代码*/} 一般有以下几种情况: (1)syn ...
- Java后台及Jsp前端的简单分页_学习笔记
在你需要导出显示大量列表时,在一页中都显示出来,是不美观页不实用的.在这种时候,就需要设置一个分页来显示你的内容,如百度的分页: 分页分为:前段分页和后端分页 后端分页: 首先我们应该确定,我们要分页 ...
- 基于MFC的一个简单计算器
写一个简单的计算器并不是什么很难的事,主要目的是要通过这个程序来学习和分析其中的核心算法.这个简易计算器的核心部分就是对输入的表达式的正确性判断与求值,其中包括对表达式的解析.中缀表达式转后缀表达式. ...
- 一个用WPF做的简单计算器源代码
一.界面设计XAML代码 <Window x:Class="fengjisuanqi.MainWindow" xmlns="http://schemas.micro ...
- PHP分页初探 一个最简单的PHP分页代码的简单实现
PHP分页代码在各种程序开发中都是必须要用到的,在网站开发中更是必选的一项. 要想写出分页代码,首先你要理解SQL查询语句:select * from goods limit 2,7.PHP分页代码核 ...
- 将其它部分jsp代码包含进一个jsp文件
<jsp:include page="文件路径/文件名.jsp" /> 将其它部分jsp代码包含进来.意义:将公共的部分代码抽出来,省略过多复制粘贴:只要改一个地方就O ...
- 菜鸟学Android编程——简单计算器《一》
菜鸟瞎搞,高手莫进 本人菜鸟一枚,最近在学Android编程,网上看了一些视频教程,于是想着平时手机上的计算器应该很简单,自己何不尝试着做一个呢? 于是就冒冒失失的开撸了. 简单计算器嘛,功能当然很少 ...
随机推荐
- RMAN_学习笔记4_RMAN Virtual Catalog虚拟恢复目录
2014-01-01 Created By BaoXinjian Thanks and Regards
- python的json模块
Python JSON 本章节我们将为大家介绍如何使用 Python 语言来编码和解码 JSON 对象. 环境配置 在使用 Python 编码或解码 JSON 数据前,我们需要先安装 JSON 模块. ...
- Array,ArrayList、List<T>、HashSet<T>、LinkedList<T>与Dictionary<K,V>
Array: 数组在C#中最早出现的.在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单. 但是数组存在一些不足的地方.在数组的两个数据间插入数据是很麻烦的,而且在声明数组的时候 ...
- 约瑟夫(环)问题(Josephus problem)
问题描述:皇帝决定找出全国中最幸运的一个人,于是从全国选拔出 n 个很幸运的人,让这 n 个人围着圆桌进餐,可是怎么选择出其中最幸运的一个人呢?皇帝决定:从其中一个人从 1 开始报数,按顺序数到第 k ...
- VBS数组
定义一个数组: dim a(3).这里要注意在VBS里面数组不像其他的例如C,C#,JAVA等数组用[]作为数组标志.VBS采用的是().还需要注意的是,这里定义的数组包含a(0),a(1),a(2) ...
- #pragma pack(n)
#pragma pack(n) 重要规则: 1,复杂类型中各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个类型的地址相同: 2,每个成员分别对齐,即每个成员按自己的方式对齐,并最小 ...
- 北京市小升初 zz
发信人: django (牛魔王), 信区: SchoolEstate 标 题: 北京市小升初掐尖方式的演变过程(看后恍然大悟) 发信站: 水木社区 (Thu Feb 4 10:51:23 201 ...
- WM_CLOSE WM_DESTROY WM_QUIT的区别
WM_CLOSE:关闭应用程序窗口 WM_DESTROY:关闭应用程序 WM_QUIT:关闭消息循环
- 【转载】大数据量传输时配置WCF的注意事项
WCF传输数据量的能力受到许多因素的制约,如果程序中出现因需要传输的数据量较大而导致调用WCF服务失败的问题,应注意以下配置: 1.MaxReceivedMessageSize:获取或设置配置了此绑定 ...
- 并查集(HDOJ 1856)
并查集 英文:Disjoint Set,即“不相交集合” 将编号分别为1…N的N个对象划分为不相交集合, 在每个集合中,选择其中某个元素代表所在集合. 常见两种操作: n 合并两个集合 ...