1. 程式人生 > >藍橋杯 日期計算(java題解)

藍橋杯 日期計算(java題解)

問題描述
  已知2011年11月11日是星期五,問YYYY年MM月DD日是星期幾?注意考慮閏年的情況。尤其是逢百年不閏,逢400年閏的情況。
輸入格式
  輸入只有一行
  YYYY MM DD
輸出格式
  輸出只有一行
  W
資料規模和約定
  1599 <= YYYY <= 2999
  1 <= MM <= 12
  1 <= DD <= 31,且確保測試樣例中YYYY年MM月DD日是一個合理日期
  1 <= W <= 7,分別代表週一到週日
樣例輸入
2011 11 11
樣例輸出
5

題解:遇到日期類問題,使用Scanner和SimpleDateFormat會很方便

程式碼:

import java.util.*;
import java.text.*;

public class Main {
    public static void main(String[] args) {
        DateFormat df = new SimpleDateFormat("EEE");
        Scanner in = new Scanner(System.in);
        int yy = in.nextInt();
        int mm = in.nextInt();
        int dd = in.nextInt();

        /*Date
d = new Date(yy,mm,dd); 直接new的日期和Calendar獲取的日期星期不一樣,Calendar獲取的日期更精確 System.out.println(df.format(d)); */ Calendar can = Calendar.getInstance(); can.set(yy, mm-1, dd); Date date = can.getTime(); String day = df.format(date); if(day.equals("星期一"
)) { System.out.println(1); } else if(day.equals("星期二")) { System.out.println(2); } else if(day.equals("星期三")) { System.out.println(3); } else if(day.equals("星期四")) { System.out.println(4); } else if(day.equals("星期五")) { System.out.println(5); } else if(day.equals("星期六")) { System.out.println(6); } else if(day.equals("星期日")) { System.out.println(7); } in.close(); } }

相關推薦

藍橋 日期計算(java題解)

問題描述   已知2011年11月11日是星期五,問YYYY年MM月DD日是星期幾?注意考慮閏年的情況。尤其是逢百年不閏,逢400年閏的情況。 輸入格式   輸入只有一行   YYYY MM D

藍橋 幸運數(java題解)

標題:幸運數 幸運數是波蘭數學家烏拉姆命名的。它採用與生成素數類似的“篩法”生成。 首先從1開始寫出自然數1,2,3,4,5,6,.... 1 就是第一個幸運數。 我們從2這個數開始。把所有序號能被2整除的項刪除,變為: 1 _ 3 _ 5 _ 7 _

第九屆藍橋省賽JAVA語言 C組題解_1哪天返回

JAVA語言 C組題解_題1 哪天返回題目解題思路 題目 小明被不明勢力劫持。後被扔到x星站再無問津。小明得知每天都有飛船飛往地球,但需要108元的船票,而他卻身無分文。 他決定在x星戰打工。好心的老闆答應包食宿,第1天給他1元錢。 並且,以後的每一天都比前一天

第九屆藍橋省賽JAVA語言 C組題解_題10 耐摔指數

JAVA語言 C組題解_題10 耐摔指數 題目 解題思路 題目 標題:耐摔指數 x星球的居民脾氣不太好,但好在他們生氣的時候唯一的異常舉動是:摔手機。 各大廠商也就紛紛推出各種耐摔型手機。x星球的質監局規定了手機必須經

第九屆藍橋省賽JAVA語言 C組題解_題7 縮位求和

JAVA語言 C組題解_題7 縮位求和 題目 解題思路 題目 標題:縮位求和 在電子計算機普及以前,人們經常用一個粗略的方法來驗算四則運算是否正確。 比如:248 * 15 = 3720 把乘數和被乘數分別逐位求和,如

第九屆藍橋省賽JAVA語言 C組題解_題6 列印大X

JAVA語言 C組題解_題6 列印大X 題目 解題思路 題目 標題:列印大X 如下的程式目的是在控制檯列印輸出大X。 可以控制兩個引數:圖形的高度,以及筆寬。 用程式中的測試資料輸出效果: (如果顯示有問題,可以參

第九屆藍橋省賽JAVA語言 C組題解_題5 書號驗證

JAVA語言 C組題解_題5 書號驗證 題目 解題思路 題目 標題:書號驗證 2004年起,國際ISBN中心出版了《13位國際標準書號指南》。 原有10位書號前加978作為商品分類標識;校驗規則也改變。 校驗位的加權演

第九屆藍橋省賽JAVA語言 C組題解_題4 第幾個幸運數

JAVA語言 C組題解_題4 第幾個幸運數 題目 解題思路 題目 標題:第幾個幸運數 到x星球旅行的遊客都被髮給一個整數,作為遊客編號。 x星的國王有個怪癖,他只喜歡數字3,5和7。 國王規定,遊客的編號如果只含有因子

第九屆藍橋省賽JAVA語言 C組題解_題9 小朋友崇拜圈)

JAVA語言 C組題解_題9 小朋友崇拜圈 題目 解題思路 題目 班裡N個小朋友,每個人都有自己最崇拜的一個小朋友(也可以是自己)。 在一個遊戲中,需要小朋友坐一個圈, 每個小朋友都有自己最崇拜的小朋友在他的右手邊。 求滿

第九屆藍橋省賽JAVA語言 C組題解_題8 等腰三角形

JAVA語言 C組題解_題8 等腰三角形 題目 解題思路 題目 本題目要求你在控制檯輸出一個由數字組成的等腰三角形。 具體的步驟是: 先用1,2,3,…的自然數拼一個足夠長的串 用這個串填充三角形的三條邊

第九屆藍橋省賽JAVA語言 C組題解_題3 字母陣列

JAVA語言 C組題解_題3 字母陣列 題目 解題思路 題目 仔細尋找,會發現:在下面的8x8的方陣中,隱藏著字母序列:“LANQIAO”。 SLANQIAO ZOEXCCGB MOAYWKHI BCCIPLJQ SLAN

第九屆藍橋省賽JAVA語言 C組題解_題1 哪天返回

JAVA語言 C組題解_題1 哪天返回 題目 解題思路 題目 小明被不明勢力劫持。後被扔到x星站再無問津。小明得知每天都有飛船飛往地球,但需要108元的船票,而他卻身無分文。 他決定在x星戰打工。好心的老闆答應包食宿,第1

第九屆藍橋省賽JAVA語言 C組題解_解2 猴子數香蕉

JAVA語言 C組題解_2 猴子數香蕉 題目 解題思路 題目 5只猴子是好朋友,在海邊的椰子樹上睡著了。這期間,有商船把一大堆香蕉忘記在沙灘上離去。 第1只猴子醒來,把香蕉均分成5堆,還剩下1個,就吃掉並把自己的一份藏起來

藍橋——表示式計算(支援多位數運算的java實現)

問題描述   輸入一個只包含加減乖除和括號的合法表示式,求表示式的值。其中除表示整除。 輸入格式   輸入一行,包含一個表示式。 輸出格式   輸出這個表示式的值。 樣例輸入 1-2+3*(4-5) 樣例輸出 -4 資料規模和約定   表示式長

歷年藍橋 日期類問題總結

第四屆 去重排序 scan sdn 日記 fcm .com urn 閏年判斷 日期類問題 (歷年藍橋杯真題) 發現每年基本上都會有日期處理類的問題, 或者模擬,或者其他,所以就把歷年所有日期問題都整理一下吧 輸入 1998 輸出 1998-2-13

2015年第六屆藍橋JavaB組決賽題解——穿越雷區

標題:穿越雷區 X星的坦克戰車很奇怪,它必須交替地穿越正能量輻射區和負能量輻射區才能保持正常運轉,否則將報廢。 某坦克需要從A區到B區去(A,B區本身是安全區,沒有正能量或負能量特徵),怎樣走才能路徑最短? 已知的地圖是一個方陣,上面用字母標出了A,B區,其它區都標了正號或

藍橋節點選擇(java)第一道樹形dp分析

藍橋杯 節點選擇 問題描述     有一棵 n 個節點的樹,樹上每個節點都有一個正整數權值。如果一個點被選擇了,那麼在樹上和它相鄰的點都不能被選擇。求選出的點的權值和最大是多少? 輸入格式 第一行包含一個整數 n 。 接下來的一行包含 n 個正整

藍橋最短路(java過)&&spfa單源最短路演算法

百度百科上spfa的思路為:動態逼近法:設立一個先進先出的佇列用來儲存待優化的結點,優化時每次取出隊首結點u,並且用u點當前的最短路徑估計值對離開u點所指向的結點v進行鬆弛操作,如果v點的最短路徑估計值有所調整,且v點不在當前的佇列中,就將v點放入隊尾。這樣不斷從佇列中取出結點來進行鬆弛

藍橋 表格計算

#include<iostream> #include<cstring> #include<cmath> #include<cstdio> #include<algorithm> using namespace std; double re

CSP201509-2(日期計算)(Java 100分)

問題描述   給定一個年份y和一個整數d,問這一年的第d天是幾月幾日?   注意閏年的2月有29天。滿足下面條件之一的是閏年:   1) 年份是4的整數倍,而且不是100的整數倍;   2) 年份是400的整數倍。 輸入格式   輸入的第一行包含一個整數y,表示年份,年份在1900到20