输入生日的月和日,程序输出从现在到生日的天数。如果生日已过,输出生日已过的天数。 提示:Calendar对象的setter()方法和getTimeInMillis()方法应该能用到。
时间: 2024-10-11 12:04:51 浏览: 13
头歌python本月天数.doc
要编写一个Java程序来计算从当前日期到给定生日的天数,你可以使用`java.util.Calendar`类。以下是一个简单的示例:
```java
import java.util.Calendar;
import java.util.Date;
public class BirthdayCalculator {
public static void main(String[] args) {
// 获取当前日期
Calendar currentDate = Calendar.getInstance();
// 用户输入生日(例如:06表示六月,15表示15号)
int month = 6; // 月份(1-12)
int day = 15; // 日子
// 设置生日日期
Calendar birthdayDate = Calendar.getInstance();
birthdayDate.set(Calendar.MONTH, month - 1); // 减一,因为月份是从0开始计数的
birthdayDate.set(Calendar.DAY_OF_MONTH, day);
// 如果生日已过
if (currentDate.after(birthdayDate)) {
long diffInMilliseconds = birthdayDate.getTimeInMillis() - currentDate.getTimeInMillis(); // 计算两个时间差
int daysSinceBirthday = (int) Math.abs(diffInMilliseconds / (1000 * 60 * 60 * 24)); // 转换为天数并取绝对值(因为我们只关心正数)
System.out.println("生日已经过去 " + daysSinceBirthday + " 天");
} else {
long timeUntilBirthday = birthdayDate.getTimeInMillis() - currentDate.getTimeInMillis(); // 未来的天数
int daysUntilBirthday = (int) Math.round(timeUntilBirthday / (1000 * 60 * 60 * 24)); // 圆整得到整数天数
System.out.println("距离生日还有 " + daysUntilBirthday + " 天");
}
}
}
```
在这个程序中,我们首先获取当前日期,然后让用户输入他们的生日。接着,我们创建两个`Calendar`实例分别代表当前日期和生日。我们检查当前日期是否大于生日日期,如果是,我们就计算出生日已过去的天数;如果不是,则计算未来到生日的天数。
阅读全文