回文日期
本文最后更新于 198 天前,其中的信息可能已经有所发展或是发生改变。

回文日期

       对于日期类,与日期相关的题目,java都有其解决的日期类来解决实际问题,我之前是这么想的,当我做了几道这一类的题目之后,我看到一个博主的视频,其大概讲的意思是既然走上了算法这条路,那么提升思维最重要,很多题目用这些类来做,固然简单便捷,但是时长用自己的思维,不用类去解决更能锻炼自己的思维


第一种解法:


import java.util.Scanner;
 /*
 回文日期:tocharArray(),把一个字符串必成字符串数组
 20200202,得到一个年月日的所有单个数组,判断回文条件输出即可,也可以用纯算法来解决问题
  */
 public class Test3 {
     public static void main(String[] args) {
         Scanner sc=new Scanner(System.in);
         int data=sc.nextInt();
         //huiwenriqi(data);
         //ABhuiwenriqi(data);
    }
     public static void huiwenriqi(int data){
         for(int i=data+1;i<89991231;i++)//注意这种算法,要先判断日期是否是合法的
        {
             String str=i+"";
             char []S=str.toCharArray();
             char a=S[0];char b=S[1];char c=S[2];char d=S[3];
             char e=S[4]; char f=S[5]; char g=S[6];char h=S[7];
             if(a==h&&b==g&&c==f&&d==e){
                 System.out.println(str);
                 break;
            }
        }
    }
     public static void ABhuiwenriqi(int data){
         for(int i=data+1;i<89991231;i++)
        {
             String str=i+"";
             char []S=str.toCharArray();
             char a=S[0] char b=S[1]; char c=S[2]; char d=S[3];
             char e=S[4];char f=S[5];char g=S[6];char h=S[7];
             if(a==c&&c==f&&f==h&&b==d&&d==e&&e==g){
                 System.out.println(str);
                 break;
            }
        }
    }
       public static boolean con(int date){//判断日期是否合法
            int year=date/10000;
            int mon=date/100%100;
            int day=date%100;
            int month[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
            if((year%4==0&&year%100!=0)||(year%400==0)){\
            month[2]=29;
            }
            if(mon>12||mon==0){
                return false;
            }
            if(day>month[mon]||day==0){
                return false;
            }
 
          return false;
    }
    }

第二种解法:

直接用求余的方式得到日期的每位数字

第三种解法:api解法


int data=sc.nextInt();
 //huiwenriqi(data);
 //ABhuiwenriqi(data);
 int year=data/10000;
 int month=data/100%100;
 int day=data%100;
 Calendar c=Calendar.getInstance();
 c.set(Calendar.YEAR,year);
 c.set(Calendar.MONTH,month-1);//设置日期月份需要减一
 c.set(Calendar.DATE,day+1);
 while(true){
     int Year=c.get(Calendar.YEAR);
     int Month=c.get(Calendar.MONTH)+1;//得到日期月份需要加一
     int Day=c.get(Calendar.DATE);
     int a=Year/1000;
     int b=Year/100%10;
     int d=Year/10%10;
     int e=Year%10;
     int f=Month/10;
     int g=Month%10;
     int x=Day/10;
     int y=Day%10;
     if(a==y&&b==x&&d==g&&e==f){
             System.out.println(Year+""+Month+""+Day);
         break;
    }
     c.add(Calendar.DATE,1);   
 }

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇