JavaWeb网页版计算器实现

来源:互联网 发布:归并排序 python 编辑:程序博客网 时间:2024/05/22 03:12
第一种用javascript方法编写的计算器
[html] view plain copy
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. <%  
  3. String path = request.getContextPath();  
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  5. %>  
  6.   
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  8. <html>  
  9.   <head>  
  10.     <base href="<%=basePath%>">  
  11.       
  12.     <title>My JSP 'MyCompute.jsp' starting page</title>  
  13.       
  14.     <meta http-equiv="pragma" content="no-cache">  
  15.     <meta http-equiv="cache-control" content="no-cache">  
  16.     <meta http-equiv="expires" content="0">      
  17.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
  18.     <meta http-equiv="description" content="This is my page">  
  19.     <!-- 
  20.     <link rel="stylesheet" type="text/css" href="styles.css"> 
  21.     -->  
  22.   
  23.   </head>  
  24.   <style type="text/css">  
  25.     div{  
  26.     width:215px;  
  27.     height:290px;  
  28.     border:2px solid black;  
  29.     background-image:url(c1.jpg);     
  30.         }  
  31.     #aniu{  
  32.         width:35px;  
  33.         height:25px;  
  34.         }  
  35.     
  36.   </style>  
  37.   <body>  
  38.      <div align="center">  
  39.     <h1>My Computer</h1>  
  40.      <font size="4" >请输入第一个数:</font><br/>  
  41.      <input type="text" id="num1" style="width:150;"/><br/>  
  42.      <font size="4" >请输入第二个数:</font><br/>  
  43.      <input type="text" id="num2" style="width:150;"/> <br/>  
  44.      <font size="4" >请选择运算方式:</font><br/>  
  45.      <table>  
  46.      <tr>  
  47.      <td><input type="button" value="+" id="aniu" onclick="jia();"/></td>  
  48.      <td><input type="button" value="-" id="aniu" onclick="jian();"/></td>  
  49.      <td><input type="button" value="*" id="aniu" onclick="cheng();"/></td>  
  50.      <td><input type="button" value="/" id="aniu" onclick="chu();"/></td>  
  51.      </tr>  
  52.      </table>   
  53.      <font size="4">计算结果为:</font><br/>  
  54.      <input type="text"  id="result" style="width:150;"/> <br/>             
  55.     </div>  
  56.   </body>  
  57.   <script type="text/javascript">  
  58.   function jia(){  
  59.       var n1=document.getElementById("num1");  
  60.       var n2=document.getElementById("num2");  
  61.       var nv1=n1.value;  
  62.       var nv2=n2.value;  
  63.       var rv=parseInt(nv1)+parseInt(nv2);  
  64.       var result =document.getElementById("result");  
  65.       result.value=rv;  
  66.   }  
  67.   function jian(){  
  68.       var n1=document.getElementById("num1");  
  69.       var n2=document.getElementById("num2");  
  70.       var nv1=n1.value;  
  71.       var nv2=n2.value;  
  72.       var rv=parseInt(nv1)-parseInt(nv2);  
  73.       var result =document.getElementById("result");  
  74.       result.value=rv;  
  75.   }  
  76.   function cheng(){  
  77.       var n1=document.getElementById("num1");  
  78.       var n2=document.getElementById("num2");  
  79.       var nv1=n1.value;  
  80.       var nv2=n2.value;  
  81.       var rv=parseInt(nv1)*parseInt(nv2);  
  82.       var result =document.getElementById("result");  
  83.       result.value=rv;  
  84.   }  
  85.   function chu(){  
  86.       var n1=document.getElementById("num1");  
  87.       var n2=document.getElementById("num2");  
  88.       var nv1=n1.value;  
  89.       var nv2=n2.value;  
  90.       var rv=parseInt(nv1)/parseInt(nv2);  
  91.       var result =document.getElementById("result");  
  92.       result.value=rv;  
  93.   }  
  94.   </script>  

  1. </html>  





第二种方法用表单提交运算用转发的方式获得结果,代码如下:
jsp代码:

[html] view plain copy
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. <%  
  3. String path = request.getContextPath();  
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  5. %>  
  6.   
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  8. <html>  
  9.   <head>  
  10.     <base href="<%=basePath%>">  
  11.       
  12.     <title>My JSP 'jisuanqi.jsp' starting page</title>  
  13.       
  14.     <meta http-equiv="pragma" content="no-cache">  
  15.     <meta http-equiv="cache-control" content="no-cache">  
  16.     <meta http-equiv="expires" content="0">      
  17.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
  18.     <meta http-equiv="description" content="This is my page">  
  19.     <!-- 
  20.     <link rel="stylesheet" type="text/css" href="styles.css"> 
  21.     -->  
  22.   
  23.   </head>  
  24.     
  25.   <body>  
  26. <div style="border:2px;">  
  27. <form action="/Test/JServlet" method="post">  
  28. 输入一个数:<input type="text" name="num1"/><br/>  
  29. 选择运算符:<select name="flag">    
  30.         <option value=1>+</option>    
  31.         <option value=2>-</option>    
  32.         <option value=3>*</option>     
  33.         <option value=4>/</option>    
  34.         </select><br>   
  35. 输另一个数:<input type="text" name="num2"/><br/>  
  36. <input type="submit" value="提交"/><br/>  
  37. </form>  
  38. <%  
  39.     Integer result=(Integer) request.getAttribute("result");  
  40. %>  
  41. 结果为:<input type="text" name="result"value="<%=result %>"/><br/>  
  42. </div>  
  43.   </body>  
  44. </html> 
  45. servlet代码:

    [html] view plain copy
    1. package com.Servlet.test;  
    2. import java.io.IOException;  
    3. import java.io.PrintWriter;  
    4.   
    5. import javax.servlet.ServletException;  
    6. import javax.servlet.http.HttpServlet;  
    7. import javax.servlet.http.HttpServletRequest;  
    8. import javax.servlet.http.HttpServletResponse;  
    9.   
    10.   
    11. public class JServlet extends HttpServlet {  
    12.   
    13.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
    14.             throws ServletException, IOException {  
    15.         String num1 = request.getParameter("num1");  
    16.         String num2 = request.getParameter("num2");  
    17.         String f = request.getParameter("flag");  
    18.         int flag=Integer.parseInt(f);  
    19.         int n1=Integer.parseInt(num1);  
    20.         int n2=Integer.parseInt(num2);  
    21.         int result=0;    
    22.         switch (flag) {  
    23.         case 1:result=n1+n2; break;  
    24.         case 2:result=n1-n2; break;  
    25.         case 3:result=n1*n2; break;  
    26.         case 4:result=n1/n2; break;  
    27.         default:  
    28.             break;  
    29.         }   
    30.         request.setAttribute("result",result);  
    31.         request.getRequestDispatcher("/com.jsp.test/jisuanqi.jsp").forward(request, response);  
    32.     }  
    33.   
    34. }  
     



第三种利用javaBean写的,代码如下:

jsp:

[html] view plain copy
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. <%  
  3. String path = request.getContextPath();  
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  5. %>  
  6.   
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  8. <html>  
  9.   <head>  
  10.     <base href="<%=basePath%>">  
  11.       
  12.     <title>My JSP 'JBC.jsp' starting page</title>  
  13.       
  14.     <meta http-equiv="pragma" content="no-cache">  
  15.     <meta http-equiv="cache-control" content="no-cache">  
  16.     <meta http-equiv="expires" content="0">      
  17.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
  18.     <meta http-equiv="description" content="This is my page">  
  19.     <!-- 
  20.     <link rel="stylesheet" type="text/css" href="styles.css"> 
  21.     -->  
  22.   
  23.   </head>  
  24.     
  25.   <body>  
  26. <div align="center"style="background-color:#CDAA7D;width:150px;">  
  27. <form action="com.jsp.test/JBC.jsp" method="post">  
  28. 输入第一个数:<br/>  
  29. <input type="text" name="num1" size="15"/><br/>  
  30. 请选择运算符:<br/>  
  31. <input type="radio" name="flag" value="1" /><font size="5"><b>+</b></font>  
  32. <input type="radio" name="flag" value="2" /><font size="5"><b>-</b></font>  
  33. <input type="radio" name="flag" value="3" /><font size="5"><b>*</b></font>  
  34. <input type="radio" name="flag" value="4" /><font size="5"><b>/</b></font>  
  35. <br/>  
  36. 输入第二个数:<br/>  
  37. <input type="text" name="num2"size="15"/><br/>  
  38.   
  39. <input type="submit" value="计算"/><br/>  
  40. </form>  
  41.   
  42. <jsp:useBean id="coc" class="com.java.test.compute" scope="page"/>  
  43. <jsp:setProperty property="*" name="coc"/>  
  44. <%  
  45. int result=coc.comupter();  
  46. %>  
  47. 输出的结果为:<%=result %><br/>  
  48. </div>  
  49.   </body>  
  50. </html>  
java文件代码:

[html] view plain copy
  1. package com.java.test;  
  2.   
  3. public class compute {  
  4.     private int num1;  
  5.     private int num2;  
  6.     private int flag;  
  7.     private int result;  
  8.     public int getNum1() {  
  9.         return num1;  
  10.     }  
  11.   
  12.     public void setNum1(int num1) {  
  13.         this.num1 = num1;  
  14.     }  
  15.   
  16.     public int getNum2() {  
  17.         return num2;  
  18.     }  
  19.   
  20.     public void setNum2(int num2) {  
  21.         this.num2 = num2;  
  22.     }  
  23.   
  24.     public int getFlag() {  
  25.         return flag;  
  26.     }  
  27.   
  28.     public void setFlag(int flag) {  
  29.         this.flag = flag;  
  30.     }  
  31.   
  32.     public int comupter() {  
  33.         switch (flag) {  
  34.         case 1:result=num1+num2;break;   
  35.         case 2:result=num1-num2;break;   
  36.         case 3:result=num1*num2;break;    
  37.         case 4:result=num1/num2;break;    
  38.         default:  
  39.             break;  
  40.         }  
  41.         return result;   
  42.     }  
  43.       
  44. }  


原创粉丝点击