日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2017蓝桥杯省赛---java---B---7(日期问题)

發布時間:2023/12/3 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2017蓝桥杯省赛---java---B---7(日期问题) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述

日期問題

標題:日期問題小明正在整理一批歷史文獻。這些歷史文獻中出現了很多日期。小明知道這些日期都在196011日至20591231日。令小明頭疼的是,這些日期采用的格式非常不統一,有采用年//日的,有采用月//年的,還有采用日//年的。更加麻煩的是,年份也都省略了前兩位,使得文獻上的一個日期,存在很多可能的日期與其對應。比如02/03/04,可能是20020304日、20040203日或20040302日。給出一個文獻上的日期,你能幫助小明判斷有哪些可能的日期對其對應嗎?輸入 ---- 一個日期,格式是"AA/BB/CC"(0 <= A, B, C <= 9) 輸入 ---- 輸出若干個不相同的日期,每個日期一行,格式是"yyyy-MM-dd"。多個日期按從早到晚排列。 樣例輸入 ---- 02/03/04 樣例輸出 ---- 2002-03-04 2004-02-03 2004-03-02 資源約定: 峰值內存消耗(含虛擬機) < 256M CPU消耗 < 1000ms請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內容。所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。 不要使用package語句。不要使用jdk1.7及以上版本的特性。 主類的名字必須是:Main,否則按無效代碼處理。 ———————————————— 版權聲明:本文為CSDN博主「公眾號-放生改命」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。 原文鏈接:https://blog.csdn.net/weixin_44949135/article/details/108143554

代碼實現

package com.atguigu.TEST;import java.util.Scanner; import java.util.Set; import java.util.TreeSet;class Main{public static boolean isLeap(int year){return (year%4==0&&year%100!=0)||year%400==0;}public static String f(int a,int b,int c){if(a>=0&&a<=59){ a+=2000;}else if (a>=60&&a<=99){ a+=1900;}else return "";if(b<1||b>12) return "";if(c<1||c>31) return "";boolean _isLeap=isLeap(a);switch (b){//日期校驗case 2:if(_isLeap&&c>29) return "";if(!_isLeap&&c>28) return "";break;case 4:if(c>30) return "";break;case 6:if(c>30) return "";break;case 9:if(c>30) return "";break;case 11:if(c>30) return "";break;default:break;}String _a,_b,_c;_a=a+"";_b=b+"";_c=c+"";if(_b.length()==1)_b="0"+_b;if(_c.length()==1)_c="0"+_c;return _a+"-"+_b+"-"+_c;}public static void main(String[] args) {String in;Scanner scanner = new Scanner(System.in);in=scanner.next();int a=(in.charAt(0)-'0')*10+(in.charAt(1)-'0');int b=(in.charAt(3)-'0')*10+(in.charAt(4)-'0');int c=(in.charAt(6)-'0')*10+(in.charAt(7)-'0');String case1=f(a,b,c);String case2=f(c,a,b);String case3=f(c,b,a);//tree帶去重和排序功能Set<String> ans = new TreeSet<>();if(case1!="") ans.add(case1);if(case2!="") ans.add(case2);if(case3!="") ans.add(case3);for(String set:ans) {System.out.println(set);}}}

總結

以上是生活随笔為你收集整理的2017蓝桥杯省赛---java---B---7(日期问题)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。