【对称日】今天朋友圈对称日刷屏了,也来凑个热闹,用代码实力打脸

先上代码:

	 public static void main(String[] args) throws Exception {
		List<String> duichenshu = Lists.newArrayList();
        List<String> dateString = getDateString();

        for (String s : dateString) {
            getDuichen(s, duichenshu);
        }
        
        System.out.println("共有:" + duichenshu.size());
	}
	
	//判断是否是对称日
    public static void getDuichen(String st, List<String> duichenshu) {

        boolean result;

        int l = st.length();

        int head = 0;
        int tail = l - 1;
        int count = (head + tail) / 2 + 1;

        StringBuilder wholeHead = new StringBuilder();
        StringBuilder wholeTail = new StringBuilder();

        for (int i = 0; i < count; i++) {

            char c = st.charAt(head);
            wholeHead.append(c);
            head++;

            char t = st.charAt(tail);
            wholeTail.append(t);
            tail--;
        }

        result = wholeHead.toString().equals(wholeTail.toString());
        if (result) {
            duichenshu.add(st);
            System.out.println("对称--->:" + st);
        }
    }
	
	//获取从公元1年开始到现在20211202的所有日期
    public static List<String> getDateString() {
        String ymd = "";
        String year;
        String month = "";
        String day = "";
        List<String> lists = Lists.newArrayList();
        List<Integer> thirty = Arrays.asList(4, 6, 9, 11);


        for (int i = 1; i <= 2021; i++) {
            year = String.valueOf(i);

            for (int j = 1; j <= 12; j++) {
                month = String.valueOf(j);
                if (month.length() == 1) {
                    month = "0" + month;
                }

                for (int k = 1; k <= 31; k++) {
                    //2月
                    if (j == 2) {
                        //闰年2月有29号
                        if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) {
                            if (k > 29) {
                                continue;
                            }
                        } else {
                            //平年2月只有28号
                            if (k > 28) {
                                continue;
                            }
                        }
                    }

                    //只有30天的月份
                    if (thirty.contains(j) && k > 30) {
                        continue;
                    }

                    day = String.valueOf(k);
                    if (day.length() == 1) {
                        day = "0" + day;
                    }
                    ymd = year + month + day;
                    lists.add(ymd);
                }
            }
        }

        return lists;
    }

显示结果:

对称--->:10101
对称--->:10201
对称--->:10301
对称--->:10401
对称--->:10501
对称--->:10601
对称--->:10701
对称--->:10801
对称--->:10901
对称--->:11011
对称--->:11111
对称--->:11211
对称--->:20102
对称--->:20202
对称--->:20302
对称--->:20402
对称--->:20502
对称--->:20602
对称--->:20702
对称--->:20802
对称--->:20902
对称--->:21012
对称--->:21112
对称--->:21212
对称--->:30103
对称--->:30203
对称--->:30303
对称--->:30403
对称--->:30503
对称--->:30603
对称--->:30703
对称--->:30803
对称--->:30903
对称--->:31013
对称--->:31113
对称--->:31213
对称--->:40104
对称--->:40204
对称--->:40304
对称--->:40404
对称--->:40504
对称--->:40604
对称--->:40704
对称--->:40804
对称--->:40904
对称--->:41014
对称--->:41114
对称--->:41214
对称--->:50105
对称--->:50205
对称--->:50305
对称--->:50405
对称--->:50505
对称--->:50605
对称--->:50705
对称--->:50805
对称--->:50905
对称--->:51015
对称--->:51115
对称--->:51215
对称--->:60106
对称--->:60206
对称--->:60306
对称--->:60406
对称--->:60506
对称--->:60606
对称--->:60706
对称--->:60806
对称--->:60906
对称--->:61016
对称--->:61116
对称--->:61216
对称--->:70107
对称--->:70207
对称--->:70307
对称--->:70407
对称--->:70507
对称--->:70607
对称--->:70707
对称--->:70807
对称--->:70907
对称--->:71017
对称--->:71117
对称--->:71217
对称--->:80108
对称--->:80208
对称--->:80308
对称--->:80408
对称--->:80508
对称--->:80608
对称--->:80708
对称--->:80808
对称--->:80908
对称--->:81018
对称--->:81118
对称--->:81218
对称--->:90109
对称--->:90209
对称--->:90309
对称--->:90409
对称--->:90509
对称--->:90609
对称--->:90709
对称--->:90809
对称--->:90909
对称--->:91019
对称--->:91119
对称--->:91219
对称--->:101101
对称--->:111111
对称--->:121121
对称--->:201102
对称--->:211112
对称--->:221122
对称--->:301103
对称--->:311113
对称--->:321123
对称--->:401104
对称--->:411114
对称--->:421124
对称--->:501105
对称--->:511115
对称--->:521125
对称--->:601106
对称--->:611116
对称--->:621126
对称--->:701107
对称--->:711117
对称--->:721127
对称--->:801108
对称--->:811118
对称--->:821128
对称--->:901109
对称--->:911119
对称--->:921129
对称--->:1001001
对称--->:1010101
对称--->:1011101
对称--->:1020201
对称--->:1021201
对称--->:1030301
对称--->:1040401
对称--->:1050501
对称--->:1060601
对称--->:1070701
对称--->:1080801
对称--->:1090901
对称--->:1101011
对称--->:1110111
对称--->:1111111
对称--->:1120211
对称--->:1121211
对称--->:1130311
对称--->:1140411
对称--->:1150511
对称--->:1160611
对称--->:1170711
对称--->:1180811
对称--->:1190911
对称--->:1201021
对称--->:1210121
对称--->:1211121
对称--->:1220221
对称--->:1221221
对称--->:1230321
对称--->:1240421
对称--->:1250521
对称--->:1260621
对称--->:1270721
对称--->:1280821
对称--->:1290921
对称--->:1301031
对称--->:1310131
对称--->:1321231
对称--->:1330331
对称--->:1350531
对称--->:1370731
对称--->:1380831
对称--->:2001002
对称--->:2010102
对称--->:2011102
对称--->:2020202
对称--->:2021202
对称--->:2030302
对称--->:2040402
对称--->:2050502
对称--->:2060602
对称--->:2070702
对称--->:2080802
对称--->:2090902
对称--->:2101012
对称--->:2110112
对称--->:2111112
对称--->:2120212
对称--->:2121212
对称--->:2130312
对称--->:2140412
对称--->:2150512
对称--->:2160612
对称--->:2170712
对称--->:2180812
对称--->:2190912
对称--->:2201022
对称--->:2210122
对称--->:2211122
对称--->:2220222
对称--->:2221222
对称--->:2230322
对称--->:2240422
对称--->:2250522
对称--->:2260622
对称--->:2270722
对称--->:2280822
对称--->:2290922
对称--->:3001003
对称--->:3010103
对称--->:3011103
对称--->:3020203
对称--->:3021203
对称--->:3030303
对称--->:3040403
对称--->:3050503
对称--->:3060603
对称--->:3070703
对称--->:3080803
对称--->:3090903
对称--->:3101013
对称--->:3110113
对称--->:3111113
对称--->:3120213
对称--->:3121213
对称--->:3130313
对称--->:3140413
对称--->:3150513
对称--->:3160613
对称--->:3170713
对称--->:3180813
对称--->:3190913
对称--->:3201023
对称--->:3210123
对称--->:3211123
对称--->:3220223
对称--->:3221223
对称--->:3230323
对称--->:3240423
对称--->:3250523
对称--->:3260623
对称--->:3270723
对称--->:3280823
对称--->:3290923
对称--->:4001004
对称--->:4010104
对称--->:4011104
对称--->:4020204
对称--->:4021204
对称--->:4030304
对称--->:4040404
对称--->:4050504
对称--->:4060604
对称--->:4070704
对称--->:4080804
对称--->:4090904
对称--->:4101014
对称--->:4110114
对称--->:4111114
对称--->:4120214
对称--->:4121214
对称--->:4130314
对称--->:4140414
对称--->:4150514
对称--->:4160614
对称--->:4170714
对称--->:4180814
对称--->:4190914
对称--->:4201024
对称--->:4210124
对称--->:4211124
对称--->:4220224
对称--->:4221224
对称--->:4230324
对称--->:4240424
对称--->:4250524
对称--->:4260624
对称--->:4270724
对称--->:4280824
对称--->:4290924
对称--->:5001005
对称--->:5010105
对称--->:5011105
对称--->:5020205
对称--->:5021205
对称--->:5030305
对称--->:5040405
对称--->:5050505
对称--->:5060605
对称--->:5070705
对称--->:5080805
对称--->:5090905
对称--->:5101015
对称--->:5110115
对称--->:5111115
对称--->:5120215
对称--->:5121215
对称--->:5130315
对称--->:5140415
对称--->:5150515
对称--->:5160615
对称--->:5170715
对称--->:5180815
对称--->:5190915
对称--->:5201025
对称--->:5210125
对称--->:5211125
对称--->:5220225
对称--->:5221225
对称--->:5230325
对称--->:5240425
对称--->:5250525
对称--->:5260625
对称--->:5270725
对称--->:5280825
对称--->:5290925
对称--->:6001006
对称--->:6010106
对称--->:6011106
对称--->:6020206
对称--->:6021206
对称--->:6030306
对称--->:6040406
对称--->:6050506
对称--->:6060606
对称--->:6070706
对称--->:6080806
对称--->:6090906
对称--->:6101016
对称--->:6110116
对称--->:6111116
对称--->:6120216
对称--->:6121216
对称--->:6130316
对称--->:6140416
对称--->:6150516
对称--->:6160616
对称--->:6170716
对称--->:6180816
对称--->:6190916
对称--->:6201026
对称--->:6210126
对称--->:6211126
对称--->:6220226
对称--->:6221226
对称--->:6230326
对称--->:6240426
对称--->:6250526
对称--->:6260626
对称--->:6270726
对称--->:6280826
对称--->:6290926
对称--->:7001007
对称--->:7010107
对称--->:7011107
对称--->:7020207
对称--->:7021207
对称--->:7030307
对称--->:7040407
对称--->:7050507
对称--->:7060607
对称--->:7070707
对称--->:7080807
对称--->:7090907
对称--->:7101017
对称--->:7110117
对称--->:7111117
对称--->:7120217
对称--->:7121217
对称--->:7130317
对称--->:7140417
对称--->:7150517
对称--->:7160617
对称--->:7170717
对称--->:7180817
对称--->:7190917
对称--->:7201027
对称--->:7210127
对称--->:7211127
对称--->:7220227
对称--->:7221227
对称--->:7230327
对称--->:7240427
对称--->:7250527
对称--->:7260627
对称--->:7270727
对称--->:7280827
对称--->:7290927
对称--->:8001008
对称--->:8010108
对称--->:8011108
对称--->:8020208
对称--->:8021208
对称--->:8030308
对称--->:8040408
对称--->:8050508
对称--->:8060608
对称--->:8070708
对称--->:8080808
对称--->:8090908
对称--->:8101018
对称--->:8110118
对称--->:8111118
对称--->:8120218
对称--->:8121218
对称--->:8130318
对称--->:8140418
对称--->:8150518
对称--->:8160618
对称--->:8170718
对称--->:8180818
对称--->:8190918
对称--->:8201028
对称--->:8210128
对称--->:8211128
对称--->:8220228
对称--->:8221228
对称--->:8230328
对称--->:8240428
对称--->:8250528
对称--->:8260628
对称--->:8270728
对称--->:8280828
对称--->:8290928
对称--->:9001009
对称--->:9010109
对称--->:9011109
对称--->:9020209
对称--->:9021209
对称--->:9030309
对称--->:9040409
对称--->:9050509
对称--->:9060609
对称--->:9070709
对称--->:9080809
对称--->:9090909
对称--->:9101019
对称--->:9110119
对称--->:9111119
对称--->:9120219
对称--->:9121219
对称--->:9130319
对称--->:9140419
对称--->:9150519
对称--->:9160619
对称--->:9170719
对称--->:9180819
对称--->:9190919
对称--->:9201029
对称--->:9210129
对称--->:9211129
对称--->:9221229
对称--->:9230329
对称--->:9240429
对称--->:9250529
对称--->:9260629
对称--->:9270729
对称--->:9280829
对称--->:9290929
对称--->:10011001
对称--->:10100101
对称--->:10111101
对称--->:10200201
对称--->:10211201
对称--->:10300301
对称--->:10400401
对称--->:10500501
对称--->:10600601
对称--->:10700701
对称--->:10800801
对称--->:10900901
对称--->:11011011
对称--->:11100111
对称--->:11111111
对称--->:11200211
对称--->:11211211
对称--->:11300311
对称--->:11400411
对称--->:11500511
对称--->:11600611
对称--->:11700711
对称--->:11800811
对称--->:11900911
对称--->:12011021
对称--->:12100121
对称--->:12111121
对称--->:12200221
对称--->:12211221
对称--->:12300321
对称--->:12400421
对称--->:12500521
对称--->:12600621
对称--->:12700721
对称--->:12800821
对称--->:12900921
对称--->:13011031
对称--->:13100131
对称--->:13211231
对称--->:13300331
对称--->:13500531
对称--->:13700731
对称--->:13800831
对称--->:20011002
对称--->:20100102
对称--->:20111102
对称--->:20200202
对称--->:20211202

共有:513

显示共有513个,朋友圈515个,所以代码可以打脸,哈哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值