一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - 利用Java計(jì)算某個(gè)日期是星期幾

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

2020-06-24 12:19瓜園耕讀 JAVA教程

不知道大家有沒有遇到過(guò)同樣的問(wèn)題,誰(shuí)誰(shuí)的生日又要到了,看看是星期幾?每年都要遇到好幾次,所以想索性利用Java寫個(gè)小工具,一次查詢某具體日期在n年中分別是星期幾。這樣不就方便了嗎?本文里給出了詳細(xì)的示例代碼,感

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

具體代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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:看看你查詢的具體日子是星期幾,
 *           比如,查詢誰(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),回車結(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é)果如下所示:

?
1
2
3
4
5
6
7
8
9
請(qǐng)輸入年份范圍和日期,格式:年數(shù) 幾月 幾號(hào)(5 9 15),回車結(jié)束:5 9 15
輸入結(jié)果:5個(gè)年數(shù),915號(hào)。
2014915號(hào)是星期一。
2015915號(hào)是星期二。
2016915號(hào)是星期四。
2017915號(hào)是星期五。
2018915號(hào)是星期六。
 
Process finished with exit code 0

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
//輸入日期數(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)然,記得要把模塊語(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)大家可以留言交流。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: xxxx性欧美极品另类 | 日本在线观看免费观看完整版 | 四虎永久在线精品免费影视 | 欧美高清免费一级在线 | 亚洲va久久久噜噜噜久久狠狠 | 日日操天天爽 | 成人免费片| 成人免费视频一区 | www.国产一区二区三区 | 美女污视频在线观看 | 国产99热| 久久AV国产麻豆HD真实乱 | 人生路不在线观看完整版 | 羞羞漫画免费漫画页面在线看漫画秋蝉 | 任我淫| 免费视频 久久久 | 变态人shou交小说 | 按摩院已婚妇女中文字幕 | 久久婷婷五月综合色丁香 | 国产一区国产二区国产三区 | 青草色视频 | 日本高清免费不卡在线 | 日本性生活大片 | 成人夜视频寂寞在线观看 | 亚洲 另类 欧美 变态屎尿 | 国产欧美日韩不卡一区二区三区 | 男女羞羞的视频 | 95视频在线观看在线分类h片 | 欧美一区二区福利视频 | 网红刘婷hd国产高清 | 欧美一级鲁丝片免费看 | kayden kross喷水 | 久久精品国产色蜜蜜麻豆国语版 | 国产成人cao在线 | 鄂州一家三口完整版免费 | 国产美女做爰免费视频软件 | a一区二区三区视频 | 免费特黄一级欧美大片 | 亚洲欧美色综合图小说 | 日韩欧美一区黑人vs日本人 | 亚洲精品国产精品精 |