麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

計算兩日期間2月29日總數的Java程序

2019-11-14 15:21:23
字體:
來源:轉載
供稿:網友

  事先聲明,本人僅僅是個計算機領域的新手,不久前開始學習java。后來我接到了一份關于計算兩日期間2月29日總數的編程作業,倉促之中我便寫下了這個程序。由于之前可以說毫無編程經驗,Java也僅僅是只學了一小部分。所以目前該程序尚未解決輸入問題。

  我解決這個問題的思路是:

  1. 編寫一個方法(leapYear)用于判斷某一年份是否為閏年;
  2. 編寫另一個方法(dateExist)用于判斷某一時期是否真實存在,在這方法中會引用到上個方法;
  3. 最后編寫main方法,引用方法(dateExist)分別判斷起始日期和終止日期是否真實存在;
  4. 倘若均真實存在。假如起始和終止日期不在同一年,這對起始和終止年份之間的年份枚舉,把閏年總數計算出來,在這過程中引用方法(leapYear);不真實存在則顯示提示。
  5. 最后判斷起始和終止年份是否為閏年及起始/終止月份是否小于/大于2月,并把符合條件的2月29日算出,在這過程中也須引用方法leapYear。

  

  以下是我的代碼:

public class LeapYearComputing
{
  //判斷某一年份是否為閏年。
  public static boolean leapYear(int y) {
    boolean leapYear;
    if (y % 4 == 0) {
      if(y % 100 == 0) {
        if(y % 400 == 0) {
          leapYear = true;
        }
        else {
          leapYear = false;
        };    
      }
      else {
        leapYear = true;
      };
    }
    else {
      leapYear = false;
  };
  return leapYear;
};

//判斷某一日期是否存在,不考慮公元前的年份。
public static boolean dateExist(int year ,int month ,int date) {
  boolean dateExist;
    if (year > 0 ) {
      if (month > 0 && month < 13) {
        if (date > 0 && date < 32) {
          switch(month) {
            case 2:
              if (leapYear(year)) {
                if (date < 30) {
                  dateExist = true;
                }
                else {
                  dateExist = false;
                };
              }
              else if (date < 29) {
                dateExist = true;
              }
              else {
                dateExist = false;
              };
              break;
            case 4:
            case 6:
            case 9:
            case 11:
              if (date < 31) {
                dateExist = true;
              }
              else {
                dateExist = false;
              };
              break;
            default:
              if (date < 32) {
                dateExist = true;
              }
              else {
                dateExist = false;
              };
            };
          }
          else {
            dateExist = false;
          };
        }
        else {
          dateExist = false;
        };
      }
      else {
        dateExist = false;
      };
   return dateExist;
};

//計算兩個日期間2月29日數量。
public static void main(String[] args) {
int year1 = 555; //輸入起始年份。
int month1 = 2; //輸入起始月份。
int date1 = 28; //輸入起始日期。
int year2 = 2012; //輸入終止年份。
int month2 = 2; //輸入終止月份。
int date2 = 28; //輸入終止日期。
int result = 0;
int Year = year1 + 1;
if (dateExist(year1,month1,date1)) {
  if (dateExist(year2,month2,date2)) {
    while (Year < year2 ) {
      if (leapYear(Year)) {
        result ++;
      };
      Year ++;
    };
    if (year1 == year2 && leapYear(year1)) {
      result --;
    };
    if (month1 <= 2 && leapYear(year1)) {
      result ++;
    };
    if (month2 > 2 || (month2 == 2 && date2 == 29) && leapYear(year2)) {
    result ++;
    }
  System.out.   }
  else {
    System.out.println("終止日期并不真實存在。");
  };
}
else {
System.out.println("起始日期并不真實存在。");
};




};
}

  PS:本程序不考慮公元前年份。我原本考慮公元前的情況,但慮及公元前并無公元紀年,而且關于閏年的定義極有可能不在適用,便把年份限定在公元后。

    當起始和終止年份在同一年,且這一年是閏年的情況下,應將閏年數減一。

  各位若發現該程序的不足之處或有更好的算法,還望多多指教。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日本成人在线免费 | 黄在线观看 | 久久久久久免费 | 欧美一级全黄 | 久久精品超碰 | 欧美女人天堂 | 久草影音 | 一本色道久久综合亚洲精品图片 | 免费一区二区三区 | 欧美精品激情在线 | 国产片91 | 在线中文字幕网站 | 色天天综合网 | 国产乱一区二区三区视频 | 深夜视频福利 | 国产精品1区2区在线观看 | 国产精品久久久久久久久久久天堂 | 久草在线高清 | 72pao成人国产永久免费视频 | 日韩精品99久久久久久 | 综合97| aa国产视频一区二区 | 日本成人午夜 | 欧美一级高潮片免费的 | 日本娇小videos高潮 | 亚洲午夜激情网 | 中文字幕1区2区 | 伊久在线| 天堂成人国产精品一区 | 91精品国产91久久久 | 日本aaaa片毛片免费观蜜桃 | 欧美性猛交xxx乱大交3蜜桃 | 婷婷久久综合九色综合色多多蜜臀 | 午夜噜噜噜 | 亚洲射吧 | 77成人影院 | 神马福利电影 | 久久里面有精品 | 成人一级在线 | 国产精品久久久久久久不卡 | av电影手机在线看 |