最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

話不多說(shuō),下面來(lái)直接看示例代碼

具體代碼:

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:看看你查詢(xún)的具體日子是星期幾,
 *           比如,查詢(xún)誰(shuí)誰(shuí)的“生日對(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),回車(chē)結(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),回車(chē)結(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),回車(chē)結(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)然,記得要把模塊語(yǔ)言等級(jí)相應(yīng)設(shè)置為JDK 7或JDK 8,JDK 6及以下是不會(huì)通過(guò)的。

總結(jié)

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

相關(guān)文章

  • 解決BufferedReader.readLine()遇見(jiàn)的坑

    解決BufferedReader.readLine()遇見(jiàn)的坑

    這篇文章主要介紹了解決BufferedReader.readLine()遇見(jiàn)的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java解析XML(4種方式)案例詳解

    Java解析XML(4種方式)案例詳解

    這篇文章主要介紹了Java解析XML(4種方式)案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 詳談Jedis連接池的使用

    詳談Jedis連接池的使用

    下面小編就為大家?guī)?lái)一篇詳談Jedis連接池的使用。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • 使用Java方法配置Spring代碼解析

    使用Java方法配置Spring代碼解析

    這篇文章主要介紹了使用Java方法配置Spring代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • TraceIdPatternLogbackLayout日志攔截源碼解析

    TraceIdPatternLogbackLayout日志攔截源碼解析

    這篇文章主要為大家介紹了TraceIdPatternLogbackLayout日志攔截源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • 使用SpringBoot注解方式處理事務(wù)回滾實(shí)現(xiàn)

    使用SpringBoot注解方式處理事務(wù)回滾實(shí)現(xiàn)

    這篇文章主要介紹了使用SpringBoot注解方式處理事務(wù)回滾實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • RabbitMQ 避免消息重復(fù)消費(fèi)的方法

    RabbitMQ 避免消息重復(fù)消費(fèi)的方法

    消費(fèi)者端實(shí)現(xiàn)冪等性,意味著消息永遠(yuǎn)不會(huì)消費(fèi)多次,即使收到了多條一樣的消息,這篇文章給大家分享RabbitMQ 避免消息重復(fù)消費(fèi)的方法,感興趣的朋友一起看看吧
    2024-03-03
  • 使用jekins自動(dòng)構(gòu)建部署java maven項(xiàng)目的方法步驟

    使用jekins自動(dòng)構(gòu)建部署java maven項(xiàng)目的方法步驟

    這篇文章主要介紹了使用jekins自動(dòng)構(gòu)建部署java maven項(xiàng)目的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Springboot中的@ConditionalOnBean注解詳細(xì)解讀

    Springboot中的@ConditionalOnBean注解詳細(xì)解讀

    這篇文章主要介紹了Springboot中的@ConditionalOnBean注解詳細(xì)解讀,@ConditionalOnMissingBean注解兩個(gè)類(lèi),一個(gè)Computer類(lèi),一個(gè)配置類(lèi),想要完成;如果容器中沒(méi)有Computer類(lèi),就注入備用電腦Computer類(lèi),如果有Computer就不注入,需要的朋友可以參考下
    2023-11-11
  • Mybatis-Plus使用@TableField實(shí)現(xiàn)自動(dòng)填充日期的代碼示例

    Mybatis-Plus使用@TableField實(shí)現(xiàn)自動(dòng)填充日期的代碼示例

    數(shù)據(jù)庫(kù)中經(jīng)常有create_time,update_time兩個(gè)字段,在代碼中設(shè)置時(shí)間有點(diǎn)太麻煩了?mybatis-plus可以幫我們自動(dòng)填充,本文主要介紹了Mybatis-Plus使用@TableField實(shí)現(xiàn)自動(dòng)填充日期的代碼示例,感興趣的可以了解一下
    2022-04-04

最新評(píng)論

甘洛县| 醴陵市| 大安市| 通州市| 含山县| 南和县| 巴塘县| 新源县| 河津市| 西城区| 伊吾县| 闽侯县| 自贡市| 涿州市| 阿克陶县| 孟州市| 靖江市| 蒙城县| 南皮县| 永吉县| 太仆寺旗| 赞皇县| 左贡县| 武鸣县| 郸城县| 乐陵市| 永登县| 蓝山县| 磐石市| 潞西市| 泉州市| 新竹县| 高州市| 长武县| 当涂县| 连城县| 清远市| 东乡| 进贤县| 仁化县| 上林县|