编写一个Java程序,输出从公元1900年到2010年所有闰年的年号,每输出两个年号换一行。

我需要源代码,最好简单一点,有注释,谢谢。... 我需要源代码,最好简单一点,有注释,谢谢。 展开
 我来答
yugi111
2014-04-02 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
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 不换行
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式