小明特别喜欢顺子。顺子指的就是连续的三个数字:123、456 等。顺子日期指的就是在日期的?yyyymmdd?表示法中,存在任意连续的三位数是一个顺子的日期。例如 20220123 就是一个顺子日期,因为它出现了一个顺子:123; 而 20221023 则不是一个顺子日期,它一个顺子也没有。小明想知道在整个 2022 年份中,一共有多少个顺子日期?
public class 顺子日期 {
public static void main(String[] args) {
int count = 0; //定义一个计数器
//int i; //i为月 1<=i<=12
//int j; //j为日 1<=j<=31
for (int i = 1; i <= 12 ; i++) {
String x;
//将月转化为长度为2的字符串
if (i < 10)
x = "0" + i;
else
x = "" + i;
for (int j = 1; j <= 31; j++) {
String y;
//将日转化为长度为2的字符串
if (j < 10)
y = "0" + j;
else
y = "" + j;
//将月和日组合起来
String z = x + y;
char[] array = z.toCharArray();
int a = array[0] - '0'; //将第1个字符转化为数值
int b = array[1] - '0'; //将第2个字符转化为数值
int c = array[2] - '0'; //将第3个字符转化为数值
int d = array[3] - '0'; //将第4个字符转化为数值
if ((b - a == 1 && c - b == 1) || (c - b == 1 && d - c == 1)) //若是连续则计数器+1
count++;
}
}
System.out.println(count);
}
}