zoukankan      html  css  js  c++  java
  • 【软件测试】闰年问题(不考虑非法输入)

    • 问题描述
      • 输入年份,输出输入年份是否为闰年(不考虑非法输入)
      • 一个年份是闰年的条件是:
        • 该年份能被4整除但是不能被100整除或
        • 该年份能被400整除
    • 代码实现

    import javax.swing.JOptionPane;
    
    import javafx.application.Application;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.geometry.Pos;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.control.Label;
    import javafx.scene.control.TextField;
    import javafx.scene.layout.HBox;
    import javafx.stage.Stage;
    
    
    public class task extends Application {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            task.launch( args );
        }
        
        private TextField textfield = new TextField();
        
        @Override
        public void start(Stage arg0) throws Exception {
            // TODO Auto-generated method stub
            arg0.setTitle( "Testing" );
            
            HBox hbox = new HBox( 8 );
            textfield.setPrefColumnCount( 25 );
            hbox.setAlignment( Pos.CENTER_LEFT );
            Button btn = new Button();
            btn.setText( "提交" );
            btn.setOnAction( new Listener() );
            hbox.getChildren().addAll( new Label( "  请输入年份: "), textfield, btn );
            
            arg0.setScene( new Scene( hbox, 460, 50 ));
            arg0.show();
        }
        
        public class Listener implements EventHandler<ActionEvent> {
    
            @Override
            public void handle(ActionEvent arg0) {
                // TODO Auto-generated method stub
                String str = textfield.getText();
                String inf = "";
                if( isLeap( Integer.parseInt( str ) ) ) {
                    inf = "输入年份为闰年";
                }
                else {
                    inf = "输入年份非闰年";
                }
                
                JOptionPane.showMessageDialog( null, inf, "information", 
                        JOptionPane.INFORMATION_MESSAGE );
            }
        }
        
        private boolean isLeap( int year ) {
            if( year % 4 != 0 ) {
                return false;
            }
            else if( year % 100 != 0 ) {
                return true;
            }
            else if( year % 400 != 0 ) {
                return false;
            }
            else {
                return true;
            }
        }
    }
    • 测试用例
    编号 输入   预测输出
    1 1963 不能被4整除 输入年份非闰年
    2 1964 能被4整除但是不能被100整除 输入年份为闰年
    3 1900 能被4整除能被100整除但是不能被400整除 输入年份非闰年
    4 2000 能被400整除 输入年份为闰年
    • 测试结果

  • 相关阅读:
    APB协议
    AHB总线协议(一)
    C++内存机制中内存溢出、内存泄露、内存越界和栈溢出的区别和联系
    深入理解C++内存管理机制
    c/c++内存机制(一)(转)
    与临时对象的斗争(下)
    与临时对象的斗争(上)ZZ
    C++异常处理解析: 异常的引发(throw), 捕获(try catch)、异常安全
    qt5信息提示框QMessageBox用法
    红黑树
  • 原文地址:https://www.cnblogs.com/tju-crab/p/4394885.html
Copyright © 2011-2022 走看看