通过JAVA程序测试闰年

  首先简要介绍一下公历上规定的闰年:四年一闰,百年不闰,四百年再闰。

  针对这一规则,简要的设计部分测试用例:

    

  附(测试截图):

以下为该程序代码段:

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();
    }
}
原文地址:https://www.cnblogs.com/CrystalN/p/4400908.html