標籤:
以下為測試代碼,實現測試輸入是否合法及是否為閏年(四年一閏,百年不閏,四百年再閏):
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();}}
代碼運行測試如下:
基於Java的閏年測試