藍(lán)橋--回文日期-創(chuàng)新互聯(lián)

簡介:日期題結(jié)合字符串的處理

創(chuàng)新互聯(lián)建站長期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為呼和浩特企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都網(wǎng)站建設(shè),呼和浩特網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。 文章目錄
  • 題目
  • 思路
  • 代碼

題目

2020 年春節(jié)期間,有一個特殊的日期引起了大家的注意:2020 年 2 月 2 日。因?yàn)槿绻麑⑦@個日期按 “yyyymmdd” 的格式寫成一個 8 位數(shù)是 20200202,恰好是一個回文數(shù)。我們稱這樣的日期是回文日期。

有人表示 20200202 是 “千年一遇” 的特殊日子。對此小明很不認(rèn)同,因?yàn)椴坏?2 年之后就是下一個回文日期:20211202 即 2021 年 12 月 2 日。

也有人表示 20200202 并不僅僅是一個回文日期,還是一個 ABABBABA 型的回文日期。對此小明也不認(rèn)同,因?yàn)榇蠹s 100 年后就能遇到下一個 ABABBABA 型的回文日期:21211212 即 2121 年 12 月 12 日。算不上 “千年一遇”,頂多算 “千年兩遇”。

給定一個 8 位數(shù)的日期,請你計算該日期之后下一個回文日期和下一個 ABABBABA 型的回文日期各是哪一天。

輸入描述

輸入包含一個八位整數(shù) NN,表示日期。

對于所有評測用例,10000101≤N≤8999123110000101≤N≤89991231,保證 NN 是一個合法日期的 8 位數(shù)表示。

輸出描述

輸出兩行,每行 1 個八位數(shù)。第一行表示下一個回文日期,第二行表示下一個 ABABBABA 型的回文日期

輸入

20200202

輸出

20211202
21211212

一、思路

這道題是隨日期的變化,找出符合題意的回文數(shù)(字符串)

首先:日期的變化,就可以用之前我專欄里面寫到的java日期模擬器

其次,日期變化解決后,解決的是字符串問題

字符串問題的判斷就在check函數(shù)中去寫語句(取字串,字符串反轉(zhuǎn),字符串相等的判斷)

二、代碼 1.日期模擬部分

代碼如下(示例):

 //月份表
?? ??? ?static int w[]=new int[]{0,31,28,31,30,31,30,31,31,30,31,30,31};
?? ??? ?static int y,m,d;
?? ??? ?static String s11;
?? ?public static void main(String[] args) {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?String s1 = null,s2=null;
?? ??? ?boolean flag=true,flagg=true;
?? ??? ?Scanner scanner=new Scanner(System.in);
?? ??? ?String string=scanner.next();
?? ??? ?y=Integer.parseInt(string.substring(0,4));
?? ??? ?m=Integer.parseInt(string.substring(4,6));
?? ??? ?d=Integer.parseInt(string.substring(6));
?? ??? ?String mmmString=null,dddString=null;
?? ??? ?while(flag||flagg) {
?? ??? ??? ?if(y%4==0&&y%100!=0||y%100==0&&y%400==0) {//判斷閏年
?? ??? ??? ??? ?w[2]=29;
?? ??? ??? ?}else {
?? ??? ??? ??? ?w[2]=28;
?? ??? ??? ?}
?? ??? ??? ?d++;
?? ??? ??? ?if(d>w[m]) {
?? ??? ??? ??? ?m++;
?? ??? ??? ??? ?d=1;
?? ??? ??? ?}
?? ??? ??? ?if(m>12) {
?? ??? ??? ??? ?y++;
?? ??? ??? ??? ?m=1;
?? ??? ??? ?}
?? ??? ??? ?if(m>=10) {
?? ??? ??? ??? ? mmmString=Integer.toString(m);
?? ??? ??? ?}else {
?? ??? ??? ??? ? mmmString="0"+Integer.toString(m);
?? ??? ??? ?}
?? ??? ??? ?if(d>=10) {
?? ??? ??? ??? ? dddString=Integer.toString(d);
?? ??? ??? ?}else {
?? ??? ??? ??? ? dddString="0"+Integer.toString(d);
?? ??? ??? ?}
?? ??? ??? ?s11=Integer.toString(y)+mmmString+dddString;;
?? ??? ??? ?if(flag) {
?? ??? ??? ?if(check()) {
?? ??? ??? ??? ?s1=Integer.toString(y)+mmmString+dddString;
?? ??? ??? ??? ?flag=false;
?? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?if(flagg) {
?? ??? ??? ??? ?if(check2()) {
?? ??? ??? ??? ??? ?s2=Integer.toString(y)+mmmString+dddString;
?? ??? ??? ??? ??? ?flagg=false;
?? ??? ??? ??? ?}
?? ??? ?}
?? ??? ?}
?? ??? ?System.out.println(s1);
?? ??? ?System.out.println(s2);
?? ?}
2.check函數(shù)部分

代碼如下(示例):

static boolean check() {
?? ??? ?String left=s11.substring(0,4),rigt=s11.substring(4);
?? ??? ?StringBuilder sb=new StringBuilder(rigt);
?? ??? ?rigt=sb.reverse().toString();
?? ??? ?if(left.equals(rigt)) {
?? ??? ??? ?return true;
?? ??? ?}else {
?? ??? ?return false;
?? ??? ?}
?? ?}
?? ?static boolean check2() {
?? ??? ?if(check()) {
?? ??? ??? ?String left1=s11.substring(0,2), left2=s11.substring(2,4),rigt1=s11.substring(4,6), rigt2=s11.substring(6);
?? ??? ??? ?if(left1.equals(left2)&&rigt1.equals(rigt2)) {
?? ??? ??? ??? ?return true;
?? ??? ??? ?}else {
?? ??? ??? ??? ?return false;
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ?}else {
?? ??? ??? ?return false;
?? ??? ?}
?? ?}

=========================================================================

由感而寫的,謝謝!

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

分享文章:藍(lán)橋--回文日期-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://bm7419.com/article46/cecheg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司品牌網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站建站公司、云服務(wù)器、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)