首先简要介绍一下公历上规定的闰年:四年一闰,百年不闰,四百年再闰。
针对这一规则,简要的设计部分测试用例:
附(测试截图):
以下为该程序代码段:
import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.layout.AnchorPane; import javafx.scene.text.Font; import javafx.scene.text.Text; import javafx.stage.Stage; public class Sfw_test extends Application{ AnchorPane root = new AnchorPane(); Scene scene = new Scene(root, 550, 400); public static void main(String[] args) { Application.launch(args); } public void start(Stage stage){ stage.setTitle("Leapyear Testing"); Text textTitle = new Text(); textTitle.setText("LEAPYEAR TEST"); textTitle.setFont(Font.font ("BLACK", 57)); AnchorPane.setTopAnchor(textTitle, 10.0); AnchorPane.setLeftAnchor(textTitle, 10.0); Text text = new Text(); text.setText("Enter the year for testing:"); text.setFont(Font.font ("BLACK", 20)); AnchorPane.setTopAnchor(text, 90.0); AnchorPane.setLeftAnchor(text, 10.0); final TextField textField = new TextField (); textField.setPrefWidth(150); textField.getText(); AnchorPane.setTopAnchor(textField, 90.0); AnchorPane.setLeftAnchor(textField, 330.0); final Label label1 = new Label("This area is use for show the result…"); label1.setFont(Font.font ("BLACK", 16)); AnchorPane.setTopAnchor(label1, 200.0); AnchorPane.setLeftAnchor(label1, 10.0); Button submit = new Button(); submit.setText(" Submit "); AnchorPane.setTopAnchor(submit, 130.0); AnchorPane.setLeftAnchor(submit, 330.0); Button clear = new Button(); clear.setText(" Clear "); AnchorPane.setTopAnchor(clear, 130.0); AnchorPane.setLeftAnchor(clear, 420.0); submit.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent e) { String year = textField.getText().toString(); boolean inputlegal = false; int Isleapyear = 2; for (int i=0; i<year.length(); i++) { if (year.indexOf(year.charAt(i)) == -1) { inputlegal = false; } } if (Double.valueOf(year)%4!=0) { Isleapyear = 0; } else if(Double.valueOf(year)%100==0 && Double.valueOf(year)%400==0){ Isleapyear = 1; } else{ Isleapyear = 0; } if(Isleapyear == 0){ label1.setText(textField.getText() + " is not a leap year"); } else if(Isleapyear == 1){ label1.setText(textField.getText() + " is a leap year"); } } }); clear.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent e) { textField.clear(); label1.setText("This area is use for show the result…"); } }); root.getChildren().addAll(textTitle,text,textField,submit,clear,label1); stage.setResizable(false); stage.setScene(scene); stage.show(); } }