第4次作业类测试代码+142+王娇

类图:

代码部分:

 1 package sample;
 2
 3 import javafx.application.Application;
 4 import javafx.event.EventHandler;
 5 import javafx.fxml.FXMLLoader;
 6 import javafx.scene.Parent;
 7 import javafx.scene.Scene;
 8 import javafx.scene.control.Alert;
 9 import javafx.scene.control.Button;
10 import javafx.scene.control.TextField;
11 import javafx.scene.input.MouseEvent;
12 import javafx.stage.Stage;
13
14
15 public class Main extends Application {
16
17     @Override
18     public void start(Stage primaryStage) throws Exception {
19         Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
20         primaryStage.setTitle("计算三角形面积--王娇");
21         primaryStage.setScene(new Scene(root, 600, 400));
22         TextField mTextFiled_A = (TextField) root.lookup("#textField_A");
23         TextField mTextFiled_B = (TextField) root.lookup("#textField_B");
24         TextField mTextFiled_C = (TextField) root.lookup("#textField_C");
25         TextField mTextFiled_tan = (TextField) root.lookup("#textField_tan");
26         TextField mTextFiled_tanS = (TextField) root.lookup("#textField_tanS");
27         TextField mTextFiled_tanC = (TextField) root.lookup("#textField_tanC");
28         Button button_OK = (Button) root.lookup("#button_OK");
29         button_OK.setOnMouseClicked(new EventHandler<MouseEvent>() {
30             @Override
31             public void handle(MouseEvent event) {
32                 try {
33                     int a = Integer.parseInt(mTextFiled_A.getText());
34                     int b = Integer.parseInt(mTextFiled_B.getText());
35                     int c = Integer.parseInt(mTextFiled_C.getText());
36                     String result = triangle(a, b, c);
37                     mTextFiled_tan.setText(result);
38                     if (!result.equals("边的值不在范围内!") && !result.equals("不构成三角形")) {
39                         mTextFiled_tanS.setText(tanS(a, b, c) + "");
40                         mTextFiled_tanC.setText(tanC(a, b, c) + "");
41                     } else {
42                         mTextFiled_tanS.setText("0");
43                         mTextFiled_tanC.setText("0");
44                     }
45                 }
46                 catch (Exception e){
47                     Alert alert = new Alert(Alert.AlertType.INFORMATION);
48                     alert.setHeaderText("请输入数字");
49                     alert.show();
50                 }
51             }
52         });
53         primaryStage.show();
54     }
55
56     public static String triangle(int a, int b, int c) {
57         if (!((1 <= a && a <= 100) && (1 <= b && b <= 100) && (1 <= c && c <= 100)))
58             return "边的值不在范围内!";
59         if (!((a < b + c) && (b < a + c) && (c < a + b)))
60             return "不构成三角形";
61         if ((a == b) || (b == c) || (c == a))
62             if (a == b && b == c)
63                 return "等边三角形";
64             else
65                 return "等腰三角形";
66         else {
67             if ((a * a == b * b + c * c) || (b * b == a * a + c * c) || (c * c == a * a + b * b))
68                 return "直角三角形";
69             return "一般三角形";
70         }
71     }
72
73     public static double tanS(int a, int b, int c) {
74         int p = (a + b + c) / 2;
75         return (Math.sqrt(p * (p - a) * (p - b) * (p - c))) ;
76     }
77
78     public static double tanC(int a, int b, int c) {
79         return (a + b + c) ;
80     }
81
82     public static void main(String[] args) {
83         launch(args);
84     }
85 }

界面控制:

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.text.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>

<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
   <children>
      <Button id="button_OK" layoutX="246.0" layoutY="135.0" mnemonicParsing="false" text="OK" />
      <Button layoutX="305.0" layoutY="134.0" mnemonicParsing="false" text="Cancel" />
      <TextField id="textField_A" layoutX="134.0" layoutY="94.0" prefHeight="23.0" prefWidth="62.0" />
      <TextField id="textField_B" layoutX="296.0" layoutY="95.0" prefHeight="23.0" prefWidth="62.0" />
      <TextField id="textField_C" layoutX="445.0" layoutY="95.0" prefHeight="23.0" prefWidth="55.0" />
      <TextField id="textField_tan" editable="false" layoutX="226.0" layoutY="189.0" />
      <Text layoutX="125.0" layoutY="203.0" strokeType="OUTSIDE" strokeWidth="0.0" text="这个三角形是:" wrappingWidth="87.0" />
      <Text layoutX="148.0" layoutY="249.0" strokeType="OUTSIDE" strokeWidth="0.0" text="面积是:" />
      <Text layoutX="314.0" layoutY="249.0" strokeType="OUTSIDE" strokeWidth="0.0" text="周长是:" />
      <Text layoutX="148.0" layoutY="63.0" strokeType="OUTSIDE" strokeWidth="0.0" text="请输入三角形的三条边;" />
      <Text layoutX="110.0" layoutY="110.0" strokeType="OUTSIDE" strokeWidth="0.0" text="a:" />
      <Text layoutX="275.0" layoutY="111.0" strokeType="OUTSIDE" strokeWidth="0.0" text="b:" />
      <Text layoutX="425.0" layoutY="109.0" strokeType="OUTSIDE" strokeWidth="0.0" text="c:" />
      <TextField id="textField_tanS" editable="false" layoutX="196.0" layoutY="233.0" prefHeight="23.0" prefWidth="62.0" />
      <TextField id="textField_tanC" editable="false" layoutX="365.0" layoutY="234.0" prefHeight="23.0" prefWidth="62.0" />
   </children>
</Pane>

界面:

三角形,面积,周长点击设置只读,不可编辑。

输入非数字

输入正确

时间: 2024-10-12 07:48:34

第4次作业类测试代码+142+王娇的相关文章

第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

第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(n

第4次作业类测试代码_078_刘玲志

1.类图: 2.输入合法时,计算结果: 输入不合法时(输入为空,不为数字,长度不在int长度范围内等),提示输入有误,并清空输入框,重新输入: 3.代码: 1 package Practiseone; 2 3 import java.awt.EventQueue; 4 import java.awt.Font; 5 import java.awt.Frame; 6 import java.awt.event.ActionEvent; 7 import java.awt.event.ActionL