欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用Java計(jì)算某個(gè)日期是星期幾

 更新時(shí)間:2016年10月20日 16:51:42   作者:瓜園耕讀  
不知道大家有沒有遇到過同樣的問題,誰誰的生日又要到了,看看是星期幾?每年都要遇到好幾次,所以想索性利用Java寫個(gè)小工具,一次查詢某具體日期在n年中分別是星期幾。這樣不就方便了嗎?本文里給出了詳細(xì)的示例代碼,感興趣的朋友們下面來一起看看吧。

話不多說,下面來直接看示例代碼

具體代碼:

DayOfWeek4Birthday.java

package com.gua;

import java.util.Calendar;
import java.util.GregorianCalendar;
import java.io.*;
import static java.lang.System.out;

/**
 * Created by 2gua on 2014/9/27.
 * DayOfWeek4Birthday:看看你查詢的具體日子是星期幾,
 *           比如,查詢誰誰的“生日對(duì)應(yīng)是星期幾”。
 */

public class DayOfWeek4Birthday {
  private String[] date; //保存輸入數(shù)據(jù):年數(shù)、幾月、幾號(hào)。

  //計(jì)算輸入的日期數(shù)據(jù)對(duì)應(yīng)的星期幾。
  private void caculateData() {
    GregorianCalendar gc = new GregorianCalendar();
    final char[] day_of_week = {'日','一','二','三','四','五','六'};
    int year = gc.get(Calendar.YEAR); //從當(dāng)前年算起。
    char week;

    for(int i = year; i<= year + Integer.valueOf(date[0]) - 1; i++) {
      gc.set(i, Integer.valueOf(date[1]) - 1, Integer.valueOf(date[2]));

      week = day_of_week[gc.get(Calendar.DAY_OF_WEEK) - 1];

      out.println(i + "年" + date[1] + "月" + date[2] + "號(hào)是星期" + week + "。");
    }
  }

  //輸入日期數(shù)據(jù)。
  private void inputData() {
    InputStreamReader is = new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader(is);

    try {
      out.print("請(qǐng)輸入年份范圍和日期,格式:年數(shù) 幾月 幾號(hào)(5 9 15),回車結(jié)束:");
      String in = br.readLine();
      date   = in.split(" ");
      out.println("輸入結(jié)果:" + date[0] + "個(gè)年數(shù)," + date[1] + "月" + date[2] + "號(hào)。");
    }
    catch(Exception e) {
      out.println("啊哦,運(yùn)行出錯(cuò)咯-_-。sorry!");
    } finally {
      try {
        br.close();
        is.close();
      } catch (IOException e) {
        out.println("IO出錯(cuò)咯-_-。sorry!");
      }
    }
  }

  public static void main(String[] args) {
    DayOfWeek4Birthday dayOfWeek4Birthday = new DayOfWeek4Birthday();

    dayOfWeek4Birthday.inputData();
    dayOfWeek4Birthday.caculateData();
  }
}

運(yùn)行,比如想看從今年算起5年內(nèi),每年的9月15號(hào)是星期幾。

結(jié)果如下所示:

請(qǐng)輸入年份范圍和日期,格式:年數(shù) 幾月 幾號(hào)(5 9 15),回車結(jié)束:5 9 15
輸入結(jié)果:5個(gè)年數(shù),9月15號(hào)。
2014年9月15號(hào)是星期一。
2015年9月15號(hào)是星期二。
2016年9月15號(hào)是星期四。
2017年9月15號(hào)是星期五。
2018年9月15號(hào)是星期六。

Process finished with exit code 0

記得用完流要關(guān)閉。

以上是JDK 6的做法,在JDK 7及JDK 8中可以使用automatic resource management(ARM)新特性,重構(gòu)inputData()方法:

//輸入日期數(shù)據(jù)。
private void inputData() {
  try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
    out.print("請(qǐng)輸入年份范圍和日期,格式:年數(shù) 幾月 幾號(hào)(5 9 15),回車結(jié)束:");
    String in = br.readLine();
    date   = in.split(" ");
    out.println("輸入結(jié)果:" + date[0] + "個(gè)年數(shù)," + date[1] + "月" + date[2] + "號(hào)。");
  }
  catch(Exception e) {
    out.println("啊哦,運(yùn)行出錯(cuò)咯-_-。sorry!");
  }
}

當(dāng)然,記得要把模塊語言等級(jí)相應(yīng)設(shè)置為JDK 7或JDK 8,JDK 6及以下是不會(huì)通過的。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家學(xué)習(xí)或者使用Java能有所幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • java-spark中各種常用算子的寫法示例

    java-spark中各種常用算子的寫法示例

    這篇文章主要給大家介紹了關(guān)于java-spark中各種常用算子的寫法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-06-06
  • 使用Properties讀取配置文件的示例詳解

    使用Properties讀取配置文件的示例詳解

    開發(fā)SpringBoot項(xiàng)目時(shí),使用配置文件配置項(xiàng)目相關(guān)屬性是必不可少的,所以下文為大家準(zhǔn)備了使用Properties讀取配置文件的示例代碼,希望對(duì)大家有所幫助
    2023-06-06
  • 新手初學(xué)Java常見排序算法

    新手初學(xué)Java常見排序算法

    排序(Sorting) 是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,它的功能是將一個(gè)數(shù)據(jù)元素(或記錄)的任意序列,重新排列成一個(gè)關(guān)鍵字有序的序列
    2021-07-07
  • SpringBoot2 整合MinIO中間件實(shí)現(xiàn)文件便捷管理功能

    SpringBoot2 整合MinIO中間件實(shí)現(xiàn)文件便捷管理功能

    這篇文章主要介紹了SpringBoot2 整合MinIO中間件,實(shí)現(xiàn)文件便捷管理,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Spring依賴注入DI之三種依賴注入類型詳解

    Spring依賴注入DI之三種依賴注入類型詳解

    這篇文章主要介紹了Spring依賴注入DI之三種依賴注入類型詳解,通過 @Autowired 注解,字段注入的實(shí)現(xiàn)方式非常簡單而直接,代碼的可讀性也很強(qiáng),事實(shí)上,字段注入是三種注入方式中最常用、也是最容易使用的一種,需要的朋友可以參考下
    2023-09-09
  • SpringBoot常見get/post請(qǐng)求參數(shù)處理、參數(shù)注解校驗(yàn)及參數(shù)自定義注解校驗(yàn)詳解

    SpringBoot常見get/post請(qǐng)求參數(shù)處理、參數(shù)注解校驗(yàn)及參數(shù)自定義注解校驗(yàn)詳解

    這篇文章主要給大家介紹了關(guān)于SpringBoot常見get/post請(qǐng)求參數(shù)處理、參數(shù)注解校驗(yàn)及參數(shù)自定義注解校驗(yàn)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • java中flatMap用法完整示例

    java中flatMap用法完整示例

    flatMap是java8的Stream流的一個(gè)方法,下面這篇文章主要給大家介紹了關(guān)于java中flatMap用法的相關(guān)資料,文中通過示例代碼和圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • 深入理解java代碼實(shí)現(xiàn)分治算法

    深入理解java代碼實(shí)現(xiàn)分治算法

    分治算法是一種遞歸算法,它將問題劃分為幾個(gè)獨(dú)立的子問題,然后遞歸地解決這些子問題,最后將子問題的解合并起來得到原問題的解,本文詳細(xì)的介紹java分治算法,感興趣的可以了解一下
    2023-09-09
  • Spring data jpa的使用與詳解(復(fù)雜動(dòng)態(tài)查詢及分頁,排序)

    Spring data jpa的使用與詳解(復(fù)雜動(dòng)態(tài)查詢及分頁,排序)

    這篇文章主要介紹了Spring data jpa的使用與詳解(復(fù)雜動(dòng)態(tài)查詢及分頁,排序),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Java編寫實(shí)現(xiàn)多人聊天室

    Java編寫實(shí)現(xiàn)多人聊天室

    這篇文章主要為大家詳細(xì)介紹了Java編寫實(shí)現(xiàn)多人聊天室,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09

最新評(píng)論