我正在尝试编写一个代码,输出1801到1900之间的闰年,并按每行10年的行格式化输出。到目前为止,这里有我的内容
for(int 1 == 1800; i <1900; i++200 ){
if (i % 100 !=0 || i% 400 == 0 )
System.out.printf("%4d %n" + i);
但它给了我编译错误。如何确保我的代码编译没有错误???
答案 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();
}
}
}