第4次作业类测试代码+085+潘亭

一、类图设计如下

二、界面如下

功能演示

  1、输入错误

  

  2、不构成三角形

  

  3、一般三角形

  

  面积默认保留两位小数

  4、直角三角形

  

  5、等腰三角形

  

  6、等边三角形

  

  7、cancel演示

  

  防止程序崩溃,默认重置为0

三、代码部分

  1、Triangle类

 1 package visualTriangle;
 2
 3 public class Triangle {
 4
 5     //judge the fields
 6     public static boolean Check(int num)
 7     {
 8         if(num<1 || num>100)
 9         {
10             return false;
11         }
12         return true;
13     }
14
15     //judge shape
16     public static String triangle(int side1,int side2,int side3)
17     {
18         int temp;
19         if(side1>side2)
20             {temp=side1;side1=side2;side2=temp;}
21         if(side2>side3)
22             {temp=side2;side2=side3;side3=temp;}
23
24         String result="三角形";
25         if(side1+side2<=side3)
26             return "不构成"+result;
27         else if(side1==side2 && side2==side3)
28             return "等边"+result;
29         else if(side1==side2 || side2==side3 || side1==side3)
30             return "等腰"+result;
31         else if(side1*side1+side2*side2==side3*side3)
32             return "直角"+result;
33         else
34             return "普通"+result;
35     }
36
37     //calculate Area
38     public static float triangleArea(int side1,int side2,int side3)
39     {
40         double p=(side1+side2+side3)*0.5;
41         return (float)Math.sqrt(p*(p-side1)*(p-side2)*(p-side3));
42     }
43     //calculate Grith
44     public static int perimeter(int side1,int side2,int side3)
45     {
46         return side1+side2+side3;
47     }
48 }

  2、TriangleUI类

package visualTriangle; import java.awt.Color; import java.awt.Font; import java.awt.FontFormatException; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.text.DecimalFormat; import javax.management.relation.RelationNotification; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JTextField; public class TriangleUI { public static void initUI() { JFrame frame = new JFrame("Triangle"); frame.setLayout(null); //labels JLabel title = new JLabel("请输入三角形的三条边:"); JLabel lSide1 = new JLabel("a:"); JLabel lSide2 = new JLabel("b:"); JLabel lSide3 = new JLabel("c:"); JLabel lShape = new JLabel("这个三角形是:"); JLabel lArea = new JLabel("面积是:"); JLabel lGrith = new JLabel("周长是:"); //input test fields JTextField tSide1 = new JTextField(); JTextField tSide2 = new JTextField(); JTextField tSide3 = new JTextField(); JTextField tShape = new JTextField(); JTextField tArea = new JTextField(); JTextField tGrith = new JTextField(); //buttons JButton bSubmit = new JButton("Ok"); JButton bCancel = new JButton("Cancel"); //ok listener bSubmit.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if(e.getSource()==bSubmit) { int side1=Integer.parseInt(tSide1.getText()); int side2=Integer.parseInt(tSide2.getText()); int side3=Integer.parseInt(tSide3.getText()); if(Triangle.Check(side1) && Triangle.Check(side2) && Triangle.Check(side3)) { String re=Triangle.triangle(side1, side2, side3); tShape.setText(re); if("不构成三角形".equals(re)) { tArea.setText("无"); tGrith.setText("无"); } else { float area=Triangle.triangleArea(side1, side2, side3); DecimalFormat df = new DecimalFormat("#.00"); tArea.setText(df.format(area)); tGrith.setText(""+Triangle.perimeter(side1, side2, side3)); } } else { JOptionPane.showMessageDialog(null, "输入有误,请重请输入正确整数"); tSide1.setText("0"); tSide2.setText("0"); tSide3.setText("0"); } } } }); //cancel listener bCancel.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if(e.getSource()==bCancel) { tSide1.setText("0"); tSide2.setText("0"); tSide3.setText("0"); tShape.setText(""); tArea.setText(""); tGrith.setText(""); } } }); Font ft = new Font("宋体",Font.BOLD,24); //labels settings title.setFont(ft); title.setBounds(62, 62, 500, 25); lSide1.setFont(ft); lSide1.setBounds(80, 124, 50, 25); lSide2.setFont(ft); lSide2.setBounds(230, 124, 50, 25); lSide3.setFont(ft); lSide3.setBounds(380, 124, 50, 25); lShape.setFont(ft); lShape.setBounds(62, 248, 200, 25); lArea.setFont(ft); lArea.setBounds(62, 310, 150, 25); lGrith.setFont(ft); lGrith.setBounds(270, 310, 150, 25); //textFileds settings tSide1.setBounds(130, 124, 50, 25); tSide2.setBounds(280, 124, 50, 25); tSide3.setBounds(430, 124, 50, 25); tShape.setBounds(230, 248, 150, 25); tShape.setFont(ft); tShape.setEnabled(false); tArea.setBounds(150, 310, 100, 25); tArea.setFont(ft); tArea.setEnabled(false); tGrith.setBounds(360, 310, 100, 25); tGrith.setFont(ft); tGrith.setEnabled(false); //button settings bSubmit.setBounds(180, 187, 80, 31); bCancel.setBounds(320, 187, 80, 31); //add to frame frame.add(title); frame.add(lSide1);frame.add(lSide2);frame.add(lSide3); frame.add(tSide1);frame.add(tSide2);frame.add(tSide3); frame.add(bSubmit);frame.add(bCancel); frame.add(lShape);frame.add(tShape); frame.add(lArea);frame.add(tArea); frame.add(lGrith);frame.add(tGrith); //frame configures frame.setSize(600, 490); frame.setLocation(300,300); frame.setVisible(true); } }

  1 package visualTriangle;
  2
  3 import java.awt.Color;
  4 import java.awt.Font;
  5 import java.awt.FontFormatException;
  6 import java.awt.GridLayout;
  7 import java.awt.event.ActionEvent;
  8 import java.awt.event.ActionListener;
  9 import java.text.DecimalFormat;
 10
 11 import javax.management.relation.RelationNotification;
 12 import javax.swing.JButton;
 13 import javax.swing.JFrame;
 14 import javax.swing.JLabel;
 15 import javax.swing.JOptionPane;
 16 import javax.swing.JTextField;
 17
 18 public class TriangleUI {
 19
 20     public static void initUI() {
 21         JFrame frame = new JFrame("Triangle");
 22         frame.setLayout(null);
 23         //labels
 24         JLabel title = new JLabel("请输入三角形的三条边:");
 25         JLabel lSide1 = new JLabel("a:");
 26         JLabel lSide2 = new JLabel("b:");
 27         JLabel lSide3 = new JLabel("c:");
 28         JLabel lShape = new JLabel("这个三角形是:");
 29         JLabel lArea = new JLabel("面积是:");
 30         JLabel lGrith = new JLabel("周长是:");
 31         //input test fields
 32         JTextField tSide1 = new JTextField();
 33         JTextField tSide2 = new JTextField();
 34         JTextField tSide3 = new JTextField();
 35         JTextField tShape = new JTextField();
 36         JTextField tArea = new JTextField();
 37         JTextField tGrith = new JTextField();
 38         //buttons
 39         JButton bSubmit = new JButton("Ok");
 40         JButton bCancel = new JButton("Cancel");
 41         //ok listener
 42         bSubmit.addActionListener(new ActionListener()
 43         {
 44             @Override
 45             public void actionPerformed(ActionEvent e)
 46             {
 47                 if(e.getSource()==bSubmit)
 48                 {
 49                     int side1=Integer.parseInt(tSide1.getText());
 50                     int side2=Integer.parseInt(tSide2.getText());
 51                     int side3=Integer.parseInt(tSide3.getText());
 52
 53                     if(Triangle.Check(side1) && Triangle.Check(side2) && Triangle.Check(side3))
 54                     {
 55                         String re=Triangle.triangle(side1, side2, side3);
 56                         tShape.setText(re);
 57                         if("不构成三角形".equals(re))
 58                         {
 59                             tArea.setText("无");
 60                             tGrith.setText("无");
 61                         }
 62                         else
 63                         {
 64                             float area=Triangle.triangleArea(side1, side2, side3);
 65                             DecimalFormat df = new DecimalFormat("#.00");
 66                             tArea.setText(df.format(area));
 67                             tGrith.setText(""+Triangle.perimeter(side1, side2, side3));
 68                         }
 69                     }
 70                     else
 71                     {
 72                          JOptionPane.showMessageDialog(null, "输入有误,请重请输入正确整数");
 73                          tSide1.setText("0");
 74                          tSide2.setText("0");
 75                          tSide3.setText("0");
 76                     }
 77                 }
 78             }
 79         });
 80         //cancel listener
 81         bCancel.addActionListener(new ActionListener()
 82         {
 83             @Override
 84             public void actionPerformed(ActionEvent e)
 85             {
 86                 if(e.getSource()==bCancel)
 87                 {
 88                     tSide1.setText("0");
 89                     tSide2.setText("0");
 90                     tSide3.setText("0");
 91                     tShape.setText("");
 92                     tArea.setText("");
 93                     tGrith.setText("");
 94                 }
 95
 96             }
 97         });
 98
 99         Font ft = new Font("宋体",Font.BOLD,24);
100         //labels settings
101         title.setFont(ft);
102         title.setBounds(62, 62, 500, 25);
103         lSide1.setFont(ft);
104         lSide1.setBounds(80, 124, 50, 25);
105         lSide2.setFont(ft);
106         lSide2.setBounds(230, 124, 50, 25);
107         lSide3.setFont(ft);
108         lSide3.setBounds(380, 124, 50, 25);
109         lShape.setFont(ft);
110         lShape.setBounds(62, 248, 200, 25);
111         lArea.setFont(ft);
112         lArea.setBounds(62, 310, 150, 25);
113         lGrith.setFont(ft);
114         lGrith.setBounds(270, 310, 150, 25);
115
116         //textFileds settings
117         tSide1.setBounds(130, 124, 50, 25);
118         tSide2.setBounds(280, 124, 50, 25);
119         tSide3.setBounds(430, 124, 50, 25);
120         tShape.setBounds(230, 248, 150, 25);
121         tShape.setFont(ft);
122         tShape.setEnabled(false);
123         tArea.setBounds(150, 310, 100, 25);
124         tArea.setFont(ft);
125         tArea.setEnabled(false);
126         tGrith.setBounds(360, 310, 100, 25);
127         tGrith.setFont(ft);
128         tGrith.setEnabled(false);
129         //button settings
130         bSubmit.setBounds(180, 187, 80, 31);
131         bCancel.setBounds(320, 187, 80, 31);
132         //add to frame
133         frame.add(title);
134         frame.add(lSide1);frame.add(lSide2);frame.add(lSide3);
135         frame.add(tSide1);frame.add(tSide2);frame.add(tSide3);
136         frame.add(bSubmit);frame.add(bCancel);
137         frame.add(lShape);frame.add(tShape);
138         frame.add(lArea);frame.add(tArea);
139         frame.add(lGrith);frame.add(tGrith);
140         //frame configures
141         frame.setSize(600, 490);
142         frame.setLocation(300,300);
143         frame.setVisible(true);
144     }
145
146 }

时间: 2024-10-07 12:17:55

第4次作业类测试代码+085+潘亭的相关文章

第4次作业类测试代码+101+谢艳敏

类测试代码的具体要求如下: 界面操作说明补充: 点击OK,如果输入有效,进行相应的数值计算:如果数值不满足约束,则弹出错误说明,统一为"输入有误,请重新输入",然后回到初始输入状态. 点击Cancle,表示重置,清空前面的数据,回到初始状态. (2)NextDate函数问题 String  nextdate(int m,int d,int y) 建立界面,至少包含以下元素,但不限于此: 完成上一天方法:String lastDay(int m,int d,int y) ,完成周几的方法

第4次作业类测试代码+105032014166+张珍珍

第4次作业:准备类测试代码 类测试代码的具体要求如下: (1)设计三角形完整程序 已经完成的方法是:  String triangle(int a,int b,int c) 现在要求继续增加新的功能: 建立界面,至少包含以下元素,但不限于此: 完成面积的方法:float triangleArea(int a,int b,int c) ,完成周长的方法:int perimeter(int a,int b,int c) 要求: 1.        画出类图: 2.        完成界面和相应的功能

第4次作业类测试代码+105032014138+牟平

类测试代码的具体要求如下: 设计三角形完整程序 已经完成的方法是:  String triangle(int a,int b,int c) 现在要求继续增加新的功能: 建立界面,至少包含以下元素,但不限于此: 完成面积的方法:float triangleArea(int a,int b,int c) ,完成周长的方法:int perimeter(int a,int b,int c) 一.类图 二.功能界面 1 2 3 4 5 6 三.代码: import java.awt.EventQueue;

第4次作业类测试代码+105032014125+洪诗育

类测试代码的具体要求如下: 界面操作说明补充: 点击OK,如果输入有效,进行相应的数值计算:如果数值不满足约束,则弹出错误说明,统一为"输入有误,请重新输入",然后回到初始输入状态. 点击Cancle,表示重置,清空前面的数据,回到初始状态. NextDate函数问题 String  nextdate(int m,int d,int y) 建立界面,至少包含以下元素,但不限于此: 完成上一天方法:String lastDay(int m,int d,int y) ,完成周几的方法:in

第4次作业类测试代码+074+林盼皇

(友情提示:代码部分较多,为了便于测试,项目码源已上传至链接:http://pan.baidu.com/s/1pLscU3T 密码:ug8i)  界面: 1.类图 2.界面和相应的功能. 本次实验是在原来的CalDate日期计算类的基础上,添加了两个方法int weekDay(int m,int d,int y)与String lastDate(int m,int d,int y),此外还编写了GUInterface界面.  a.实现lastDate 1 public String lastDa

第4次作业类测试代码+098+吴超

一.类图 二.代码与界面 简单的分层思想,代码目录如下: 计算日期的业务类操作代码:printDate.java;具体包括如下方法. 2.1  增加计算星期几的方法weekDay(),利用蔡勒(Zeller)公式.即w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1: 公式中的符号含义如下,w:星期:c:世纪-1:y:年(两位数):m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1.2月要看作上一年的13.14月来计算,比如2003年1月1日要看作2002年的13月

第4次作业类测试代码+028+刘孝天

一:类图 二:代码:  1:定义接口 1 package jframeTest; 2 /* 3 * @author lxt 4 * @date 2017年5月2日下午4:22:35 5 * @Param 6 */ 7 public interface InteUtil { 8 9 public int perimeter(int a,int b,int c); 10 public float triangleArea(int a,int b,int c); 11 public boolean I

第5次作业类测试代码+140+阮晨曦

1. 代码链接 http://www.cnblogs.com/chenxxiaol/p/6804119.html 2. 界面设计 3. 等价类测试 分析题目 得出对输入的条件要求为 (1)      整数 (2)      三个数 (3)      1≤a≤100 (4)      1≤b≤100 (5)      1≤c≤100 (6)      a<b+c (7)      b<a+ c (8)      c<a+ b (9)    等腰三角形 (10)   等边三角形 (11) 

第4次作业类测试代码+019+李悦洲

类图: 代码: package swingDesign; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JLabel; import java.awt.Font; import javax.swing.JTextField; import javax.swing.JButton;