闰年测试程序

未考虑非法输入时:

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.TextField;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.HBox;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class Test extends Application{
	public static void main(String[] args) {
		Test.launch(args);
    } 

    public void start(Stage stage ){
    	stage.setTitle("Year Testing");
        AnchorPane root = new AnchorPane();

        HBox hbox1 = new HBox(8);
        Text text = new Text("The Number of Year: ");
        final Text result = new Text();
        final TextField tf = new TextField();
        Button btn = new Button("Enter");
        hbox1.getChildren().addAll(text, tf, btn);

        btn.setOnAction(new EventHandler<ActionEvent>(){
        	@Override
            public void handle(ActionEvent actEvt) {
        		if(check(Integer.parseInt(tf.getText())))
        			result.setText(Integer.parseInt(tf.getText())+" Good");
        		else
        			result.setText(Integer.parseInt(tf.getText())+" Bad");
                }
        });

        AnchorPane.setTopAnchor(hbox1, 60.0);
        AnchorPane.setLeftAnchor(hbox1, 30.0);
        root.getChildren().add(hbox1);

        AnchorPane.setTopAnchor(result, 90.0);
        AnchorPane.setLeftAnchor(result, 30.0);
        root.getChildren().
add(result);

        stage.setScene(new Scene(root, 400, 200));
        stage.show();
    }

    public boolean check(int num){
    	boolean re = false;
    	if((num % 4) == 0)
    		re = true;
    	if((num % 100) == 0)
    		re = false;
    	if((num % 400) == 0)
    		re = true;

    	return re;
    }
}

正常输入:

非法输入:

原因分析:

在使用Integer.parseInt(tf.getText())函数时没有考虑到非法输入的情况。

改进:

btn.setOnAction(new EventHandler<ActionEvent>(){
        	@Override
            public void handle(ActionEvent actEvt) {
        		try{
        			if(check(Integer.parseInt(tf.getText())))
            			result.setText(Integer.parseInt(tf.getText())+" Good");
            		else
            			result.setText(Integer.parseInt(tf.getText())+" Bad");
                    }
        		catch(Exception e){
        			result.setText("Illegal Input!");
        		}
        	}
        });

效果:

时间: 2024-10-17 03:51:49

闰年测试程序的相关文章

一个闰年测试程序,其可以检测输入是否合法

1.闰年:凡阳历中有闰日(二月为二十九日)的年,闰余(岁余置闰.阴历每年与回归年相比所差的时日). 2.闰年的判定方法:四年一闰,公元年份能被4整除不能被100整除,或者能被400整除的年份. 3.因为最近在学javascript,所以现用javascript+html实现该功能,代码如下: <html> <head> <meta charset="utf-8"> <h3>请输入您要测的年份:</h3> <style t

C#闰年测试程序白盒测试 20150426

使用visual studio对C#程序进行简单的单元测试. 测试步骤 1). 新建闰年测试项目,编写代码 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication1 8 { 9 public class Program 10 { 11 s

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

关于闰年的测试

很多软件都实现了日期这一功能,日历系统算是人类的一个legacy system.在此系统逐步进化中,也衍生出一些问题,例如“千年虫”.”闰年虫”.其中闰年虫是人们对于一些电脑在设计时未考虑闰年因素,将所有年份的2月都默认为有29天或者28天而出现运算错误的一种形象叫法,因为在英文里Bug兼有臭虫.缺陷等含义,所以这一缺陷被称为“闰年虫”. 在2012年2月底,广州“闰年虫”爆发,上千的士因计价器出问题而停运,如图所示: 就连著名的微软也会出现”闰年虫”的失误,微软Windows Azure云平台

#这个测试程序有助于我们理解wxPython的界面设计,基本的控件和事件调用都有

#!/bin/env python # -*- coding: utf-8 -*- ################################################################################# #这个测试程序有助于我们理解wxPython的界面设计,基本的控件和事件调用都有 ################################################################################# imp

PHP中测试程序执行时间

通常为了估测某段较复杂的程序的执行时间或比较多种方案中个方案的执行效率,我们需要计算程序执行所耗费的时间,代码如下: $start_time = microtime(true);          //获取程序开始执行的时间 $end_time = microtime(true);            //获取程序执行结束的时间 $exec_time = $end_time - $start_time;   //计算差值 echo $exec_time; PHP中测试程序执行时间,布布扣,bu

c判断闰年

编写程序判断输入的年份是闰年还是平年. 闰年的判断准则是:1.能被4整除且不能被100整除的为闰年,2.或者是能被400整除. 代码如下: 1 //判断闰年 2 #include<iostream> 3 using namespace std; 4 5 int main() 6 { 7 int year; 8 cout << "输入年份" << endl; //输入需判断的年份 9 cin >> year; 10 if (year % 4

python-判断是不是闰年

1 #coding:utf-8 2 def isYear(year): 3 if (year%4 == 0) & (year%100 != 0): 4 print("%d年是闰年" %year) 5 elif year%400 == 0: 6 print("'%d'年是闰年" %year) 7 else: 8 print("'%d'不年是闰年" %year) 9 10 11 if __name__ =="__main__&quo

OpenCV 1.0在VC6下安装与配置(附测试程序)

步骤: 1 安装Visual C++ 6.0         2 安装OpenCV 1.0        3 配置Windows环境变量         4 配置Visual C++ 6.0             4.1 全局设置             4.2 项目设置 5 测试程序 1.安装Visual C++ 6.0          链接就不放了,网上下载安装即可. 2.安装OpenCV 1.0 下载OpenCV1.0安装程序.本人将OpenCV安装到D:\Program Files\