1. 问题描述:
输入一个年份,判断其是否为闰年,若为非法输入则给出提示
2. 问题分析:
闰年的判断:
1)输入一个年份,若它能被400整除,则它是闰年;若它能被4整除,且它不能被100整除,则它是闰年
由此判断,若它是闰年,则输出“该年是闰年”;否则,则输出“该年不是闰年”
2)若为非法输入,给出提示,则输出“输入不合法”
3. 测试用例:
编号 输入 期望输出
1 2004 该年是闰年
2 2000 该年是闰年
3 1900 该年不是闰年
4 200,. 输入不合法
4. 测试结果:
5. 测试代码:
1 import javafx.application.Application; 2 import javafx.event.ActionEvent; 3 import javafx.event.EventHandler; 4 import javafx.scene.Scene; 5 import javafx.scene.control.Button; 6 import javafx.scene.control.TextField; 7 import javafx.scene.layout.AnchorPane; 8 import javafx.scene.layout.HBox; 9 import javafx.scene.text.Text; 10 import javafx.stage.Stage; 11 12 public class Test extends Application{ 13 public static void main(String[] args) { 14 Test.launch(args); 15 } 16 17 public void start(Stage stage) throws Exception{ 18 stage.setTitle("Runnian"); 19 AnchorPane root = new AnchorPane(); 20 21 HBox hbox = new HBox(8); 22 Text t1 = new Text("Year: "); 23 final TextField t2 = new TextField(); 24 Button btn = new Button("OK"); 25 hbox.getChildren().addAll(t1, t2, btn); 26 27 btn.setOnAction(new EventHandler<ActionEvent>(){ 28 @Override 29 public void handle(ActionEvent actEvt){ 30 try{ 31 int y = Integer.parseInt(t2.getText().toString()); 32 33 if ((y % 400 == 0) || (y % 4 == 0 && y % 100 != 0)) 34 System.out.println("该年是闰年"); 35 else 36 System.out.println("该年不是闰年"); 37 } 38 catch(Exception e){ 39 System.out.println("输入不合法"); 40 } 41 } 42 }); 43 44 AnchorPane.setTopAnchor(hbox, 90.0); 45 AnchorPane.setLeftAnchor(hbox, 30.0); 46 root.getChildren().add(hbox); 47 48 stage.setScene(new Scene(root, 300, 200)); 49 stage.show(); 50 } 51 }