使用Java在1801和1900之间打印闰年的代码

时间:2016-02-07 22:49:48

标签: java

我正在尝试编写一个代码,输出1801到1900之间的闰年,并按每行10年的行格式化输出。到目前为止,这里有我的内容

    for(int 1 == 1800; i <1900; i++200 ){
     if (i % 100 !=0 || i% 400 == 0 )
     System.out.printf("%4d %n" + i);

但它给了我编译错误。如何确保我的代码编译没有错误???

1 个答案:

答案 0 :(得分:0)

您需要声明i,并且希望将i增加一。您需要一个逗号和printf,您的算法还需要测试% 4 == 0。像

这样的东西
public static void main(String[] args) {
    for (int i = 1800; i < 1900; i++) {
        if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) {
            System.out.printf("%4d%n", i);
        }
    }
}

更新

  

输出是正确的,但它没有按照我想要的方式格式化,每行10个闰年。

然后将其打印出类似

的内容
int count = 0;
for (int i = 1800; i < 1900; i++) {
    if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) {
        System.out.printf("%d ", i);
        count++;
        if (count % 10 == 0) {
            System.out.println();
        }
    }
}