A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© NUMONE 中级黑马   /  2015-12-26 00:47  /  556 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如图:需要判断年是否为闰年,判断选择了几月,然后判断该有多少天。
以下是addListener()中的方法。changDays=LeapYearEtc.getMonsDay(year,month); 这是我自己定义方法。

  1. yearField.addItemListener(new ItemListener() {
  2.                         @Override
  3.                         public void itemStateChanged(ItemEvent e) {
  4.                                 monthField.setSelectedItem("1");
  5.                         }
  6.                 });
  7.                 monthField.addItemListener(new ItemListener() {
  8.                         @Override
  9.                         public void itemStateChanged(ItemEvent e) {
  10.                                 dayField.removeAllItems();//数据清空
  11.                                
  12.                                 String seleYear = (String) yearField.getSelectedItem();
  13.                                 String seleMon = (String) monthField.getSelectedItem();
  14.                                 int year=Integer.parseInt(seleYear);
  15.                                 int month = Integer.parseInt(seleMon);
  16.                                
  17.                                 //调用函数根据年月判断显示月的天数。
  18.                                 changDays=LeapYearEtc.getMonsDay(year,month);
  19. //                                System.out.println("seleYear="+year);
  20. //                                System.out.println("seleMon="+month);
  21. //                                System.out.println("changDays="+changDays);
  22.                                 for (int i = 1; i <=changDays; i++) {
  23.                                         dayField.addItem(i+"");
  24.                                 }
  25.                         }
  26.                 });
复制代码
  1. package com.heima.tools;

  2. public class LeapYearEtc {
  3.         /**
  4.          * 根据年月,返回相应的天数
  5.          * @param parseInt
  6.          * @param parseInt2
  7.          * @return
  8.          */
  9.         public static int getMonsDay(int year, int mon) {
  10.                 int day = 31;
  11.                 if(mon==2){
  12.                         if(isLeapYear(year)){
  13.                                 day=29;
  14.                         }
  15.                         else{
  16.                                 day=28;
  17.                         }
  18.                 }else{
  19.                         switch (mon) {
  20.                         case 4:
  21.                         case 6:
  22.                         case 9:
  23.                         case 11: day=30;
  24.                         break;
  25.                         }
  26.                 }
  27.                 return day;
  28.         }
  29.         /**
  30.          * 判断年份是否为闰年
  31.          * @param year
  32.          * @return
  33.          */
  34.         public static boolean isLeapYear(int year){
  35.                 return (year%400==0)||(year%4==0&&year%100!=0);
  36.         }
  37. }
复制代码

总结:熬到现在,我也是醉了。以后坚决不熬夜



1 个回复

倒序浏览
我不要熬夜,不熬夜,不熬夜,不熬夜,不熬夜,不熬夜,不熬夜,不熬夜,不熬夜。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马