2个回答
展开全部
package zhidao;
public class Test6
{
public static void main ( String[] args )
{
printLeapYear (1900, 2010, "");
}
/**
* 递归打印闰年,每2个换一行
*
* @param start
* int 开始年份
* @param end
* int 结束年份
* @param result
* String 技巧性拼接字符串,用于判定当前有几个闰年,用于换行
*/
private static void printLeapYear ( int start, int end, String result )
{
// 边界条件
if (start > end)
{
return;
}
// 闰年标志:能被400整除,或者能被4整除但不能被100整除
if (start % 400 == 0 || start % 4 == 0 && start % 100 != 0)
{
// 拼接闰年字符串
result += start + ",";
// 打印闰年
System.out.print (start + " ");
// 每隔2个换行
if (result.split (",").length % 2 == 0)
{
System.out.println ();
}
}
// 递增
start++;
// 递归调用
printLeapYear (start, end, result);
}
}
推荐于2017-11-26
展开全部
public class Test {
public static void main(String args[]) {
int num = 0;
for(int i=1900;i<=2010;i++)
{
// 可以被4整除,不被100整除 或者 可以被400整除的是闰年
if((i%4==0&&i%100!=0)||(i%400==0)){
num++;
if(num%2==0)
{
System.out.println(i);
}
else{
System.out.print(i+" ");
}
}
}
}
}
修改了下
追问
能告诉我为什么后面还有用一个 if(num%2==0)之后才能输出,吗?我就是没有那一步所有结果年间隔为8,谢谢
追答
不是要
每输出两个年号换一行么
num就是个计数器
System.out.println是打印并换行
System.out.print 不换行
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询