小明和小强都是张老师的学生,张老师的生日是M月N日,

  小明和小强都是张老师的学生,张老师的生日是M月N日,
  2人都知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明,
  把N值告诉了小强,张老师问他们知道他的生日是那一天吗?
  3月4日  3月5日  3月8日
  6月4日  6月7日
  9月1日  9月5日
  12月1日  12月2日  12月8日
  小明说:如果我不知道的话,小强肯定也不知道.
  小强说:本来我也不知道,但是现在我知道了.
  小明说:哦,那我也知道了.
  请根据以上对话推断出张老师的生日是哪一天?
提示:
1、利用如下数据结构:
enum mn{a=1,b=2,c=3,d=4,e=5,f=6,g=7,h=8,i=9,j=12}m,n;
int mon[4]={3,6,9,12};
int day[6]={1,2,4,5,7,8};
2、利用上面的数据结构,配合如下注释,填充完整函数,得出答案。
void getValueFromMing(){}/*如果我不知道,小强肯定也不知道.*/
void getValueFromQiang(){}/*本来我不知道,现在我知道了.*/
void getValueFromMing2(){}/*那我也知道了.*/

 

 

小明如果生日229,那么他的生日只会在闰年这一天出现。闰年的规则是公历年份能被4整除但不能被100整除的数通常都是闰年,除非该年份同时能被400整除。因此,小明下次的闰年生日将会是他出生的下一个闰年。 要计算这个距离,我们可以编写一个简单的Java程序。首先确定当前下一次闰年的期。假设今天是2023年,我们先找出最近的一个闰年(2024年),然后从2024年229开始算起到下一次闰年的229。这里可以利用Java的`java.time.LocalDate``java.time.temporal.ChronoUnit`类来进行计算: ```java import java.time.LocalDate; import java.time.chrono.ChronoUnit; public class LeapYearBirthdayCalculator { public static void main(String[] args) { LocalDate currentDate = LocalDate.now(); // 2024是最近的闰年 LocalDate nextLeapYear = currentDate.plusYears(1); // 检查是否已经是闰年,如果不是,加一年 if (!nextLeapYear.isLeapYear()) { nextLeapYear = nextLeapYear.plusYears(1); } LocalDate birthdayNextLeap = nextLeapYear.withDayOfMonth(29); // 设置为229 long daysUntilLeapBirthday = birthdayNextLeap.until(currentDate, ChronoUnit.DAYS); System.out.println("小明下次闰年生日还有 " + daysUntilLeapBirthday + " 天"); } } ``` 当你运行这个程序时,它会告诉你小明下次闰年生日之前有多少天。注意,这只是一个基础示例,实际应用中可能需要处理更复杂的期边界情况。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值