1. 程式人生 > >hdoj 1201 java 18歲生日

hdoj 1201 java 18歲生日

 Problem Description

Gardon的18歲生日就要到了,他當然很開心,可是他突然想到一個問題,是不是每個人從出生開始,到達18歲生日時所經過的天數都是一樣的呢?似乎並不全都是這樣,所以他想請你幫忙計算一下他和他的幾個朋友從出生到達18歲生日所經過的總天數,讓他好來比較一下。

Input

一個數T,後面T行每行有一個日期,格式是YYYY-MM-DD。如我的生日是1988-03-07。

Output

T行,每行一個數,表示此人從出生到18歲生日所經過的天數。如果這個人沒有18歲生日,就輸出-1。

Sample Input

1

1988-03-07

Sample Output

6574

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) throws ParseException {
		Scanner sc = new Scanner(System.in);
		int t = sc.nextInt();
		for(int i=0;i<t;i++){
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			
			String system = sc.next();
			Date systemYear = sdf.parse(system + " 00:00:00");
			String[] strs = system.split("-");
			int year = Integer.valueOf(strs[0]);
			int month = Integer.valueOf(strs[1]);
			int day = Integer.valueOf(strs[2]);
			
			if(year%4==0&&month==2&&day==29){	//出生在閏年2月29號,18年後無生日
				System.out.println("-1");
			}else{
				int eighteenAfterYear = Integer.valueOf(system.substring(0, 4));
				String eighteenAfterStr = String.valueOf(eighteenAfterYear+18).concat(system.substring(4).concat(" 00:00:00"));
				Date eighteenAfterDate = sdf.parse(eighteenAfterStr);
				long eighteenAfterDateLong = eighteenAfterDate.getTime();
				
				long systemYearLong = systemYear.getTime();
				int result = (int)((eighteenAfterDateLong-systemYearLong)/(1000*3600*24));
				System.out.println(result);
			}
			if(i==(t-1)){
				sc.close();
			}
		}
	}
}




相關推薦

hdoj 1201 java 18生日

 Problem Description Gardon的18歲生日就要到了,他當然很開心,可是他突然想到一個問題,是不是每個人從出生開始,到達18歲生日時所經過的天數都是一樣的呢?似乎並不全都是這樣,所以他想請你幫忙計算一下他和他的幾個朋友從出生到達18歲生日所經過的總

杭電120118生日

Problem Description Gardon的18歲生日就要到了,他當然很開心,可是他突然想到一個問題,是不是每個人從出生開始,到達18歲生日時所經過的天數都是一樣的呢?似乎並不全都是這樣,所以他想請你幫忙計算一下他和他的幾個朋友從出生到達18歲生日所經過的總天數,

HDOJ 1201 18生日 [常識]

 題目很水,但是我做得很糾結。 解題思路: 生活常識,平年:365天,閏年:366(2月有29號) 如果出生在2月29號,那麼也就說出生那一年一定是閏年,通過簡單證明可得:閏年+18=非閏年 提示:對大於等於3月和小與3月出生分類討論。 AC程式碼: #includ

HDOJ 1201 18生日(日期與天數計算)

18歲生日 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm

hdoj 1201 (+基礎練習一)18生日

B - 18歲生日 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u

Hdu 1201 18生日

blog pre scanf 生日 宋體 desc font cnblogs 是不是 18歲生日 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total

HDU--1201--18生日

Gardon的18歲生日就要到了,他當然很開心,可是他突然想到一個問題,是不是每個人從出生開始,到達18歲生日時所經過的天數都是一樣的呢?似乎並不全都是這樣,所以他想請你幫忙計算一下他和他的幾個朋友從出生到達18歲生日所經過的總天數,讓他好來比較一下。  Input 一個數T,後面

杭電 HDU 1201 18生日

18歲生日 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm

HDU 1201(18生日天數)

#include <iostream> #include <cstdio> #include <algorithm> #include <string>

杭電acm----1201 18生日

題目連結:http://acm.hdu.edu.cn/showproblem.php?pid=1201 解題思路: 首先判斷有沒有18歲生日: *****當你輸入的月份是2,日期為29,代表你出生的就是閏年,你只要判斷18年後是不是閏年就好了,若不是閏年,代表沒有1

HDUOJ 1201 18生日(判斷閏年)

HDUOJ 1201 18歲生日 18歲生日 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 23412    

hdu_1201 18生日

int print color clu include scanf 生日 amp main #include<stdio.h> int main(){ int n,a,b,c,sum,i,j; scanf("%d",&n); wh

18生日

ron tdi con blog pro clas == problem lag 問題 D: 18歲生日 時間限制: 1 Sec 內存限制: 32 MB[提交][狀態][討論版] 題目描述 zzq的18歲生日就要到了,他當然很開心,可是他突然想到一個問題,是不是每個人從出

18生日所經過的總天數

Problem Description Gardon的18歲生日就要到了,他當然很開心,可是他突然想到一個問題,是不是每個人從出生開始,到達18歲生日時所經過的天數都是一樣的呢?似乎並不全都是這樣,所以他想請你幫忙計算一下他和他的幾個朋友從出生到達18歲生日所經過的總天數

hdu1201 18生日

題目: Problem Description Gardon的18歲生日就要到了,他當然很開心,可是他突然想到一個問題,是不是每個人從出生開始,到達18歲生日時所經過的天數都是一樣的呢?似乎並不全都是這樣,所以他想請你幫忙計算一下他和他的幾個朋友從出生到達18歲生日所經過的總天數,讓他好來比

HDU1201:18生日

Problem Description Gardon的18歲生日就要到了,他當然很開心,可是他突然想到一個問題,是不是每個人從出生開始,到達18歲生日時所經過的天數都是一樣的呢?似乎並不全都是這樣,所以他想請你幫忙計算一下他和他的幾個朋友從出生到達18歲生日所經過的總天數,

小明去參加一個同學的生日聚會,同學的家長規定18以上的同學才可以飲酒

//選擇結構流程及應用  #include"stdio.h"                                                /*編譯預處理命令*/  void main()                                    

今天是 Java生日Java 24 了!

今天是 Java 誕生日,Java 今年 24 歲了,比棧長還年輕。。還有得搞,別慌!作為一名Java語言的學習者,對Java的

18高中生逆襲之路!沒錯就是這麽優秀!

學習思想18歲高中生逆襲之路! 今年我剛上大一,我現在是這樣想的,但是我認為我不能一成不變,學習是要看市場的,(我一般會去各大網站去搜索我心儀職位的能力要求),我認為:首先要對自己有一個好的定位,這就需要廣泛了解知識和行業要求,註意這裏不是學習。當定位自己適合和喜歡的職位以後,去網上找到該職位的

周年慶 | 51CTO學院5生日趴,這張學習的網我們織的越來越大啦

證書 直播 工程 activit 通過 優惠券 自動駕駛 抽獎 pos 世界杯16強馬上就要誕生了, 但是小編今天的心情很憂傷, 因為德國男模隊沒進去16強, 就要帶著300斤土豆回家了。雖然任性的不想說話, 但還是想告訴你~ 【6月26日-7月2日】 51CTO學院5周年