使用JavaBean封装数据和业务逻辑

学习到JavaBean了,打个小栗子,大神勿喷

功能:输入三条边,判断是否构成三角形,并计算面积

Stringtonum.java:封装了三角形三条边及一个字符串分离出三条边

Triangle.java:封装了三角形三条边,判断是否构成三角形,并计算面积

index.jsp:用户访问页面

index.jsp

 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 <jsp:useBean id="angle" class="bean.Stringtonum" scope="page"></jsp:useBean>
 3 <jsp:useBean id="tri" class="bean.Triangle" scope="page"></jsp:useBean>
 4 
 5 
 6 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 7 <html>
 8   <head>
 9     
10     <title>使用JavaBean封装数据和业务逻辑,输出三角形面积</title>
11   </head>
12   
13   <body>
14     请输入三角形三条边的长度,并使用逗号分隔:<br />
15   <form method="post">
16       <input type="text" name="boy">
17       <input type="submit" value="提交">
18   </form>
19   <%
20       String str = request.getParameter("boy");
21       if(!angle.strtonum(str)){
22           out.println("请输入三个数");
23           return;
24       }
25       tri.setEdge1(angle.getNum1());
26       tri.setEdge2(angle.getNum2());
27       tri.setEdge3(angle.getNum3());
28       if(!tri.isTriangle()){
29           out.println("您输入的三条边不能构成一个三角形");
30           return;
31       }else{
32           out.println("三角形的面积 = "+tri.calArea());
33       }
34    %>
35    <br>您输入的三条边是:<% out.println(tri.getEdge1()); %>,<% out.println(tri.getEdge2()); %>,<% out.println(tri.getEdge3()); %>
36   </body>
37 </html>

Stringtonum.java

 1 package bean;
 2 
 3 /*
 4  * 功能:获取输入的三个数字,并对这三个数字进行分割处理
 5  */
 6 
 7 public class Stringtonum {
 8 
 9     private double num1;
10     private double num2;
11     private double num3;
12     public Stringtonum(){}
13     public double getNum1() {
14         return num1;
15     }
16     public double getNum2() {
17         return num2;
18     }
19     public double getNum3() {
20         return num3;
21     }
22     public void setNum1(double n) {
23         num1 = n;
24     }
25     public void setNum2(double n) {
26         num2 = n;
27     }
28     public void setNum3(double n) {
29         num3 = n;
30     }
31     public boolean strtonum(String str){
32         //取三边
33         double a[] = new double[3];
34         int i;
35         if(str==null){
36             return false;
37         }
38         String substr=",";
39         //字符串分割
40         String[] as = str.split(substr);
41         if(as.length != 3){
42             return false;
43         }else{
44             for(i=0;i<3;i++){
45                 //将字符类型a数组转换成double类型a数组
46                 a[i] = Double.valueOf(as[i]);
47             }
48         }
49         num1 = a[0];
50         num2 = a[1];
51         num3 = a[2];
52         if(num1<0.0||num2<0.0||num3<0.0){
53             return false;
54         }
55         return true;
56     }
57     
58 }

Triangle.java

 1 package bean;
 2 
 3 public class Triangle {
 4     private double edge1;
 5     private double edge2;
 6     private double edge3;
 7     public Triangle(){}
 8     public Triangle(double e1,double e2,double e3){
 9         this.edge1 = e1;
10         this.edge2 = e2;
11         this.edge3 = e3;
12     }
13     public double getEdge1() {
14         return edge1;
15     }
16     public void setEdge1(double edge) {
17         this.edge1 = edge;
18     }
19     public double getEdge2() {
20         return edge2;
21     }
22     public void setEdge2(double edge) {
23         this.edge2 = edge;
24     }
25     public double getEdge3() {
26         return edge3;
27     }
28     public void setEdge3(double edge) {
29         this.edge3 = edge;
30     }
31     //判断是否构成三角形
32     public boolean isTriangle(){
33         if(edge1 + edge2 > edge3 && edge1 + edge3 > edge2 && edge3 + edge2 > edge1){
34             return true;
35         }else{
36             return false;
37         }
38     }
39     public double calArea(){
40         //海伦公式求三角形面积
41         double p = (edge1 + edge2 +edge3)/2;
42         return Math.sqrt(p * (p-edge1) * (p-edge2) * (p-edge3));
43     }
44 }

转载于:https://www.cnblogs.com/jintangc/articles/7739614.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本课程详细讲解了以下内容:    1.jsp环境搭建及入门、虚拟路径和虚拟主机、JSP执行流程    2.使用Eclipse快速开发JSP、编码问题、JSP页面元素以及request对象、使用request对象实现注册示例    3.请求方式的编码问题、response、请求转发和重定向、cookie、session执行机制、session共享问题     4.session与cookie问题及application、cookie补充说明及四种范围对象作用域     5.JDBC原理及使用Statement访问数据库使用JDBC切换数据库以及PreparedStatement的使用、Statement与PreparedStatement的区别     6.JDBC调用存储过程和存储函数、JDBC处理大文本CLOB及二进制BLOB类型数据     7.JSP访问数据库JavaBean(封装数据和封装业务逻辑)     8.MVC模式与Servlet执行流程、Servlet25与Servlet30的使用、ServletAPI详解与源码分析     9.MVC案例、三层架构详解、乱码问题以及三层代码流程解析、完善Service和Dao、完善View、优化用户体验、优化三层(加入接口和DBUtil)    1 0.Web调试及bug修复、分页SQL(Oracle、MySQL、SQLSERVER)     11.分页业务逻辑层和数据访问层Service、Dao、分页表示层Jsp、Servlet     12.文件上传及注意问题、控制文件上传类型和大小、下载、各浏览器下载乱码问题     13.EL表达式语法、点操作符和中括号操作符、EL运算、隐式对象、JSTL基础及set、out、remove     14.过滤器、过滤器通配符、过滤器链、监听器     15.session绑定解绑、钝化活化     16.以及Ajax的各种应用     17. Idea环境下的Java Web开发

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值