一个简易计算器的web实现

注意==与equals的区别。

实现效果:

computerServlet类:

package com.zhouyajuan.servlet;

import com.zhouyajuan.tool.calTool;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class ComputerServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("UTF-8");
        resp.setContentType("text/html;charset=UTF-8");

        String num1=req.getParameter("num1");
        String operator=req.getParameter("operator");
        String num2=req.getParameter("num2");
        String res=null;
        if(num1!=null&&num2!=null){
            res= calTool.calTwoNumOperator(num1,operator,num2);
        }
        System.out.println(operator);
        String result1=("+".equals(operator))?("selected='selected'"):("");
        String result2=("-".equals(operator))?("selected='selected'"):("");
        String result3=("*".equals(operator))?("selected='selected'"):("");
        String result4=("/".equals(operator))?("selected='selected'"):("");
        System.out.println("+".equals(operator)+"==============="+(operator=="+"));
        System.out.println(result1+"=="+result2+"==="+result3+"====="+result4);
        PrintWriter ow=resp.getWriter();
        ow.println("<form action='cal' method='post'>");
        ow.println("<input type='text' name='num1' value='"+num1+"'/>");
        ow.println("<select name='operator' >");
        ow.println("<option value='+' "+result1+">+</option>" );
        ow.println("<option value='-' "+result2+">-</option>");
        ow.println("<option value='*' "+result3+">*</option>");
        ow.println("<option value='/' "+result4+">/</option>");
        ow.println("</select>");
        ow.println("<input type='text' name='num2' value='"+num2+"'/>");
        ow.println("<input type='submit' value='='/>");
        ow.println("<input type='text' name='res' value='"+res+"'/>");
        ow.println("</form>");

    }
}

calTool类:

package com.zhouyajuan.tool;

public class calTool {
    public static String calTwoNumOperator(String num1,String operator,String num2){
        //Integer.parseInt(num1);
        Integer onenum= Integer.parseInt(num1);
        System.out.println(onenum+"==============================");
        Integer twonum= Integer.parseInt(num2);
        System.out.println(twonum+"==============================");
        Integer res=0;
        res=onenum+twonum;
        System.out.println(res);
        if("+".equals(operator)){
            System.out.println(onenum+twonum);
            return String.valueOf(onenum+twonum);
        }else if("-".equals(operator)){
            return String.valueOf(onenum-twonum);
        }else if("*".equals(operator)){
            return String.valueOf(onenum*twonum);
        }else{
            return String.valueOf(onenum/twonum);
        }

    }
}

 web.xml配置:

    <servlet>
        <servlet-name>computerServlet</servlet-name>
        <servlet-class>com.zhouyajuan.servlet.ComputerServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>computerServlet</servlet-name>
        <url-pattern>/cal</url-pattern>
    </servlet-mapping>
发布了56 篇原创文章 · 获赞 18 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_40726316/article/details/99705664