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代码实现简单计算器的更多相关文章

  1. 平时没有怎么用Excel做 加减乘除 计算,猛地发现,其实Excel 是一个很好的简单计算器

    平时没有怎么用Excel做 加减乘除 计算,猛地发现,其实Excel 是一个很好的简单计算器

  2. JavaWeb学习记录(二十)——Model1模式(javaBean+jsp)实现简单计算器案例

    ¨JSP技术提供了三个关于JavaBean组件的动作元素,即JSP标签,它们分别为: ¨<jsp:useBean>标签:用于在JSP页面中查找或实例化一个JavaBean组件. ¨< ...

  3. 多线程学习-基础( 十)一个synchronized(){/*代码块*/}简单案例分析

    一.提出疑惑 上一篇文章中,分析了synchronized关键字的用法.但是好像遗漏了一种情况. 那就是: synchronized(obj){/*同步块代码*/} 一般有以下几种情况: (1)syn ...

  4. Java后台及Jsp前端的简单分页_学习笔记

    在你需要导出显示大量列表时,在一页中都显示出来,是不美观页不实用的.在这种时候,就需要设置一个分页来显示你的内容,如百度的分页: 分页分为:前段分页和后端分页 后端分页: 首先我们应该确定,我们要分页 ...

  5. 基于MFC的一个简单计算器

    写一个简单的计算器并不是什么很难的事,主要目的是要通过这个程序来学习和分析其中的核心算法.这个简易计算器的核心部分就是对输入的表达式的正确性判断与求值,其中包括对表达式的解析.中缀表达式转后缀表达式. ...

  6. 一个用WPF做的简单计算器源代码

    一.界面设计XAML代码 <Window x:Class="fengjisuanqi.MainWindow" xmlns="http://schemas.micro ...

  7. PHP分页初探 一个最简单的PHP分页代码的简单实现

    PHP分页代码在各种程序开发中都是必须要用到的,在网站开发中更是必选的一项. 要想写出分页代码,首先你要理解SQL查询语句:select * from goods limit 2,7.PHP分页代码核 ...

  8. 将其它部分jsp代码包含进一个jsp文件

    <jsp:include page="文件路径/文件名.jsp" /> 将其它部分jsp代码包含进来.意义:将公共的部分代码抽出来,省略过多复制粘贴:只要改一个地方就O ...

  9. 菜鸟学Android编程——简单计算器《一》

    菜鸟瞎搞,高手莫进 本人菜鸟一枚,最近在学Android编程,网上看了一些视频教程,于是想着平时手机上的计算器应该很简单,自己何不尝试着做一个呢? 于是就冒冒失失的开撸了. 简单计算器嘛,功能当然很少 ...

随机推荐

  1. 安装 python psutil 包

    yum install python-pip 下载 psutil https://pypi.python.org/pypi?:action=display&name=psutil#downlo ...

  2. 通过group by和having去除重复

    $sql="SELECT peisonghao FROM ecs_order_info_ly GROUP BY peisonghao HAVING COUNT(*) >1"; ...

  3. go 的 protoc 插件调用逻辑

    要让protoc使用插件,需要做下面事情: Place the plugin binary somewhere in the PATH and give it the name "proto ...

  4. iperf3实践

    The basic commands are the same for iperf and iperf3: SAMPLE IPERF/IPERF3 COMMANDS Server: iperf/ipe ...

  5. CSS基础篇

    写的不错,收藏 http://www.cnblogs.com/suoning/p/5625582.html

  6. js实现判断浏览器版本

    //判断浏览器版本是否过低 var ua = navigator.userAgent.toLowerCase(); if (window.ActiveXObject) var IEversion = ...

  7. 【EF学习笔记10】----------主从表级联操作

    主从表 级联新增 Console.WriteLine("=========主从表 级联新增=========="); using (var db = new Entities()) ...

  8. 2016.02.14 总结JS事件

    今天主要总结JS事件的基本知识以及使用技巧,并作出相应的DEMO.

  9. SQL Server 查询处理中的各个阶段(SQL执行顺序)

    SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后 ...

  10. 泛型的上限和下限的Demo

    Main Class package Comparator.Bean; import java.math.BigDecimal; import java.util.List; import java. ...