计算三角形面积,返回结果需要保留3位小数或者6位小数

【JSP笔记】面积计算Demo2

使用方法

保留3位小数

  1. 输入数值 a(3)
  2. 输入数值 b(4)
  3. 输入数值 c(5)
  4. 选择保留3位小数
  5. 点击提交按钮

【JSP笔记】面积计算Demo2

保留6位小数

  1. 输入数值 a(6)
  2. 输入数值 b(6)
  3. 输入数值 c(6)
  4. 选择保留6位小数
  5. 点击提交按钮

【JSP笔记】面积计算Demo2

主要逻辑

GetArea.tag

  • 需要根据optionStr进行分支判断
  • 使用String.format()进行小数点保留
<%@ tag pageEncoding="gb2312" %>
<%@ attribute name="numberA" required="true" %>
<%@ attribute name="numberB" required="true" %>
<%@ attribute name="numberC" required="true" %>
<%@ attribute name="optionStr" required="true" %>
<%@ variable name-given="area" scope="AT_END" %>
<%@ variable name-given="message" scope="AT_END" %>
<%!
    public double getTriangleArea(double a, double b, double c) {
        if (a + b > c && a + c > b && c + b > a) {
            double p = (a + b + c) * 0.5;
            double area = Math.sqrt(p * (p - a) * (p - b) * (p - c));
            return area;
        } else
            return 0;
    }
%>
<% try {
    double a = Double.parseDouble(numberA);
    double b = Double.parseDouble(numberB);
    double c = Double.parseDouble(numberC);
    double result = getTriangleArea(a, b, c);
    if (optionStr.equals("3")) {
        jspContext.setAttribute("area", String.format("%.3f", result));
    } else if (optionStr.equals("6")) {
        jspContext.setAttribute("area", String.format("%.6f", result));
    }
    jspContext.setAttribute("message", "三角形面积");
} catch (Exception e) {
    jspContext.setAttribute("area", "0");
    jspContext.setAttribute("message", "" + e.toString());
}
%>

xiti3_7.jsp

<% String a = request.getParameter("a");
    String b = request.getParameter("b");
    String c = request.getParameter("c");
    String o = request.getParameter("o");
    if (a == null || b == null || c == null || o == null) {
        a = "0";
        b = "0";
        c = "0";
        o = "3";
    }
    if (a.length() > 0 && b.length() > 0 && c.length() > 0) {
%> <computer:GetArea_2 numberA="<%=a%>" numberB="<%=b%>" numberC="<%=c%>" optionStr="<%=o%>"/>
<br><%=message%>
<br><%=area%>
<%}
%>

注意

  • request.getParameter()获取的对象需要判空

相关文章:

  • 2021-11-10
  • 2021-11-08
  • 2021-06-03
  • 2021-12-20
  • 2022-01-01
  • 2022-02-17
  • 2022-02-12
  • 2022-01-26
猜你喜欢
  • 2021-04-28
  • 2021-10-06
  • 2021-09-08
  • 2021-09-15
  • 2022-12-23
  • 2021-07-15
  • 2022-01-03
相关资源
相似解决方案