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整除 输入年份为闰年
    • 测试结果

  • 相关阅读:
    AGC022E Median Replace
    洛谷3195 [HNOI2008]玩具装箱TOY(斜率优化+dp)
    hdu3507 斜率优化学习笔记(斜率优化+dp)
    洛谷3176 [HAOI2015]数字串拆分 (矩阵乘法+dp)
    洛谷5038 [SCOI2012]奇怪的游戏(二分+网络流+判断奇偶)
    洛谷2543AHOI2005]航线规划 (树剖+线段树+割边思路)
    洛谷3973 TJOI2015线性代数(最小割+思维)
    CF911G Mass Change Queries(线段树+暴力)
    洛谷2151[SDOI2009]HH去散步(dp+矩阵乘法优化)
    CF1092F Tree with Maximum Cost(dfs+dp)
  • 原文地址:https://www.cnblogs.com/tju-crab/p/4394885.html
Copyright © 2011-2022 走看看