用Java的方法输出598年到2017年所有闰年,且年份各个数之和大于15,每行最多显示4个年份
时间: 2024-09-16 18:04:44 浏览: 34
在Java中,我们可以编写一个程序来找出从公元598年到2017年间满足两个条件的闰年:首先,它是闰年;其次,该年的各位数字之和大于15。以下是使用循环和条件判断实现的一个简单示例:
```java
public class LeapYears {
public static void main(String[] args) {
for (int year = 598; year <= 2017; year++) {
int sumOfDigits = calculateDigitSum(year);
if (isLeapYear(year) && sumOfDigits > 15) {
System.out.print(year + " ");
// 如果当前年份加上前三年的年份超过4个,换行
if ((year - 3) % 4 != 0 || (sumOfDigits + calculateDigitSum(year - 3)) > 19) {
System.out.println();
}
}
}
}
// 判断是否是闰年
private static boolean isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
// 计算年份各位数字之和
private static int calculateDigitSum(int number) {
int sum = 0;
while (number > 0) {
sum += number % 10;
number /= 10;
}
return sum;
}
}
```
这个程序会按行打印出符合条件的年份,每行最多显示4个年份。如果某一行达到了最大限制或者接下去的四个年份加上当前年份的总和将超过19,就会换行。
阅读全文