2018年2月有多少天了?

穆建河穆建河最佳答案最佳答案

答主也是第一次遇到这种情况,所以特地来知乎上看如何解决这类问题的,结果看到的都是些“没遇到过这种问题”“不知道”或者“随便写个程序来测试一下”之类的情况。其实这种情况是一定存在的。 作为一个程序员,我虽然不知道具体的算法,但是我也知道如果仅仅使用C语言这些底层的语言去解决这样的问题是一定会出错的(因为C语言这些语言本身就没有针对这个问题做出优化)。那么这时候我们只需要借助于高级语言的优势即可解决问题了。

于是我就想到了Java这种带有日期类型的语言。于是我就写了下面这段代码。 public class Test { public static void main(String[] args){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date curDate = new Date(); int weekDay = curDate.getDay()+1; boolean isLeapYear = (curDate.getYear() % 4 == 0); //判断是否是闰年 for (int i = 0; i < weekDay; i++) { if ((i % 7 == 0 || i == 0 && isLeapYear)){ curDate.setMonth(curDate.getMonth()+1); } else { break; } } System.out.println(sdf.format(curDate)); }} 以上,这就是我解决的方案。

发表评论
请发表正能量的言论,文明评论!