【Java Web】设计网页计算一元二次方程的解

简介: 【Java Web】设计网页计算一元二次方程的解

通过JSP求解一元二次方程的解


文章目录

通过JSP求解一元二次方程的解

一、问题描述

二、具体实现

1.代码

2.程序结构图


一、问题描述


通过创建JSP表单和服务器来接收和计算传入值,计算得出一元二次方程的解。


二、具体实现


1.代码


input.jsp

<%@ page contentType="text/html; charset=gb2312"%>
<html>
<body><font size=2>
<form action="handleData" method="post">
<br>输入一元二次方程的系数:
<br>二次项系数a:<input type=text name="a" size=4>
              一次项系数b:<input type=text name="b" size=4>
              常数项系数c:<input type=text name="c" size=4>
    <input type=submit value="提交">
    </form>
    </font>
</body>
</html>

show.jsp

<%@ page contentType="text/html; charset=gb2312"%>
<jsp:useBean id="equation" type="mybean.data.Equation" scope="request"/>
<html>
<body><font size=2>
                   一元二次方程的系数是:
        <br>二次项系数:<jsp:getProperty name="equation" property="a"/>
                                           一次项系数:<jsp:getProperty name="equation" property="b"/>
                                           常数项:<jsp:getProperty name="equation" property="c"/>
         <br>是一元二次方程吗?<jsp:getProperty name="equation" property="isSquareEquation"/>
         <br>方程的两个根: <jsp:getProperty name="equation" property="rootOne"/>
                       <jsp:getProperty name="equation" property="rootTwo"/>
                       </font>
</body>
</html>

circle_bean.java

package mybean.data;
public class circle_bean {
  double radius;
  double area;
  public void setRadius(double a) {
    radius=a;
  }
  public double getRadius() {
    return radius;
  }
  public void setArea(double b) {
    area=b;
  }
  public double getArea() {
    return area;
  }
}

Equation.java

package mybean.data;
public class Equation {
  double a,b,c;
  String rootOne,rootTwo;
  boolean squareEquation;
  public void setA(double a) {
    this.a=a;
  }
  public double getA() {
    return a;
  }
  public void setB(double b) {
    this.b=b;
  }
  public double getB() {
    return b;
  } 
  public void setC(double c) {
    this.c=c;
  }
  public double getC() {
    return c;
  }
  public void setRootOne(String root) {
    rootOne=root;
  }
  public String getRootOne() {
    return rootOne;
  }
  public void setRootTwo(String root) {
    rootTwo=root;
  }
  public String getRootTwo() {
    return rootTwo;
  }
  public void setIsSquareEquation(boolean b) {
    squareEquation=b;
  }
  public boolean getIsSquareEquation() {
    return squareEquation;
  }
}

Servlet_control.java

package myservlet.control;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import mybean.data.circle_bean;
public class circle_Servlet extends HttpServlet{
     public void init(ServletConfig config) throws ServletException{
          super.init(config);
       }
     public void doPost(HttpServletRequest request,HttpServletResponse response)
               throws IOException, ServletException{
       circle_bean circle_bean=new circle_bean();
            request.setAttribute("circle_bean", circle_bean);
            double radius=Double.parseDouble(request.getParameter("radius"));
            circle_bean.setRadius(radius);
            double area=0;
            area=3.14*radius*radius;
            circle_bean.setArea(area);
            RequestDispatcher dispatcher=request.getRequestDispatcher("show_area.jsp");
            dispatcher.forward(request, response);
            }
}

HandleData.java

package myservlet.control;
import mybean.data.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HandleData  extends HttpServlet{
     public void init(ServletConfig config) throws ServletException{
          super.init(config);
       }
     public void doPost(HttpServletRequest request,HttpServletResponse response)
            throws IOException, ServletException{
       Equation equ=new Equation();
       request.setAttribute("equation", equ);
       double a= Double.parseDouble(request.getParameter("a"));
       double b= Double.parseDouble(request.getParameter("b"));
       double c= Double.parseDouble(request.getParameter("c"));
       equ.setA(a);
       equ.setB(b);
       equ.setC(c);
       if(a!=0)
         equ.setIsSquareEquation(true);
       else
         equ.setIsSquareEquation(true);
       double disk=b*b-4*a*c;
       if(disk<0) {
         equ.setRootOne("无实根");
         equ.setRootTwo("无实根");
       }
       else {
         double root1=(-b+Math.sqrt(disk))/(2*a),
                root2=(-b-Math.sqrt(disk))/(2*a);
         equ.setRootOne(""+root1);
         equ.setRootTwo(""+root2);
       }
       RequestDispatcher dispatcher=request.getRequestDispatcher("show.jsp");
       dispatcher.forward(request, response);
     }
     public void doGet(HttpServletRequest request,HttpServletResponse response)
              throws IOException, ServletException{
       doPost(request,response);
     }
}

2.程序结构图


程序结构

实现效果

目录
相关文章
|
1天前
|
SQL Java
20:基于EL与JSTL的产品管理页-Java Web
20:基于EL与JSTL的产品管理页-Java Web
23 5
|
1天前
|
前端开发 Java Spring
Java Web ——MVC基础框架讲解及代码演示(下)
Java Web ——MVC基础框架讲解及代码演示
8 1
|
1天前
|
设计模式 前端开发 网络协议
Java Web ——MVC基础框架讲解及代码演示(上)
Java Web ——MVC基础框架讲解及代码演示
6 0
|
1天前
|
前端开发 JavaScript Java
Java与Web开发的结合:JSP与Servlet
Java与Web开发的结合:JSP与Servlet
11 0
|
1天前
|
前端开发 JavaScript Python
使用Python读取本地行情csv文件,做出web网页画出K线图实现案例
【5月更文挑战第4天】使用Python绘制K线图的步骤:1) 安装pandas, matplotlib和Flask;2) 用pandas读取CSV文件并处理数据;3) 创建Flask应用,渲染包含K线图数据的HTML;4) 编写HTML,使用ECharts库绘制K线图。
27 0
|
1天前
|
设计模式 前端开发 Java
19:Web开发模式与MVC设计模式-Java Web
19:Web开发模式与MVC设计模式-Java Web
24 4
|
1天前
|
设计模式 存储 前端开发
18:JavaBean简介及其在表单处理与DAO设计模式中的应用-Java Web
18:JavaBean简介及其在表单处理与DAO设计模式中的应用-Java Web
26 4
|
1天前
|
SQL Java 数据库连接
17:数据库连接池与Servlet整合-Java Web
17:数据库连接池与Servlet整合-Java Web
23 3
bzh
|
存储 算法 Dubbo
java计算圆的面积和java保留小数点后两位的方法
java计算圆的面积和java保留小数点后两位的方法
bzh
889 0
|
1天前
|
安全 Java 调度
深入理解Java并发编程:线程安全与性能优化
【5月更文挑战第12天】 在现代软件开发中,多线程编程是提升应用程序性能和响应能力的关键手段之一。特别是在Java语言中,由于其内置的跨平台线程支持,开发者可以轻松地创建和管理线程。然而,随之而来的并发问题也不容小觑。本文将探讨Java并发编程的核心概念,包括线程安全策略、锁机制以及性能优化技巧。通过实例分析与性能比较,我们旨在为读者提供一套既确保线程安全又兼顾性能的编程指导。