JavaBeanを使用してデータとビジネスロジックをカプセル化

15341 ワード

JavaBeanまで勉強して、小さな栗を打って、大神は噴き出さないでください
機能:三辺を入力し、三角形を構成するか否かを判断し、面積を計算する
Stringtonum.JAva:三角形の3つのエッジと1つの文字列をカプセル化して3つのエッジを分離
Triangle.JAva:三角形の3つのエッジをカプセル化し、三角形を構成するかどうかを判断し、面積を計算します.
index.jsp:ユーザーアクセスページ
index.jsp
 1 import="java.util.*" pageEncoding="UTF-8"%>
 2 class="bean.Stringtonum" scope="page">
 3 class="bean.Triangle" scope="page">
 4 
 5 
 6 
 7 
 8   
 9     
10       JavaBean         ,       
11   
12   
13   
14                 ,       :
15
16
17
18
19 20 String str = request.getParameter("boy");
21 if(!angle.strtonum(str)){
22 out.println(「3つの数を入力してください」);
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(「入力した3つのエッジは三角形を構成できません」).
30 return;
31 }else{
32 out.println(「三角形の面積=」+tri.calArea()
33 }
34 %>
35入力した3つのエッジは、
36
37
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