专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java修炼终极指南:71. 计算预产期

temp10 2024-11-11 13:53:38 java教程 6 ℃ 0 评论


我不是该领域的专家,但让我们从这两个常量开始:

Java修炼终极指南:71. 计算预产期

public static final int PREGNANCY_WEEKS = 40;
public static final int PREGNANCY_DAYS = PREGNANCY_WEEKS * 7;


假设第一天是`LocalDate`,我们想编写一个计算器,打印预产期、剩余天数、已过天数和当前周数。基本上,预产期是通过在给定的第一天上加上`PREGNANCY_DAYS`来获得的。此外,剩余天数是今天和给定第一天之间的差异,而已过天数是`PREGNANCY_DAYS`减去剩余天数。最后,当前周数是已过天数除以7(因为一周有7天)获得的。基于这些陈述,代码本身就可以说明问题:

public static void pregnancyCalculator(LocalDate firstDay) {
       
  LocalDate dueDate = firstDay.plusDays(PREGNANCY_DAYS);       
  System.out.println("Due date: " + dueDate);
       
  LocalDate today = LocalDate.now();
  long betweenDays =   
    Math.abs(ChronoUnit.DAYS.between(today, firstDay));
       
  long passedDays = PREGNANCY_DAYS - betweenDays;
  long weekNr = passedDays / 7;
  long weekPart = passedDays % 7;
  String week = weekNr + " weeks and " + weekPart + " days";
  System.out.println("Days remaining: " + betweenDays);
  System.out.println("Passed days: " + passedDays);
  System.out.println("Current week: " + week);       
}


请注意,这段代码计算的是基于当前日期的已过天数和预产期,而不是从第一天开始计算的周数。如果你想要计算从第一天开始的周数,你需要稍微调整计算方式。

嗯,女士们,我祝愿你们顺利并及时地分娩。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表