闰年测试(非法输入的判断)

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 }

 

posted @ 2015-04-06 22:52  Machuk  阅读(336)  评论(0编辑  收藏  举报