输入年月,输出从0000年开始过了多少天,并输出该月日历
代码如下:
import java.util.Scanner;
public class rili {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println(“请输入年份:”);
int y;
y = sc.nextInt();
System.out.println(“请输入月份:”);
int m;
m = sc.nextInt();
int s;
int c = 0, b = 0;
for (int i = 1; i <= y; i++) {
if ((i % 400 == 0) || (i % 4 == 0 && i % 100 == 0)) {
c++;
}
}
s = 365 * (y - c) + 366 * c;
boolean flag = y % 400 == 0 || y % 100 == 0 && y % 4 == 0;
for (int i = 1; i < m; i++) {
switch (i) {
case 1:
s = s + 31;
case 2:
s = s + 28;
if (flag) {
s = s + 1;
}
case 3:
s = s + 31;
case 4:
s = s + 30;
case 5:
s = s + 31;
case 6:
s = s + 30;
case 7:
s = s + 31;
case 8:
s = s + 31;
case 9:
s = s + 30;
case 10:
s = s + 31;
case 11:
s = s + 30;
case 12:
s = s + 31;
}
}
System.out.println(“过了” + s + “天”);
System.out.println(" \t一\t二\t三\t四\t五\t六\t日");
if (flag) {
b = 1;
}
int[] d = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (b == 1 && d[m - 1] == 28) {
d[m - 1] = 29;
}
s = s % 7;
int i;
for (i = 1; i <= s; i++)
System.out.print(“\t “);
for (int j = 1; j <= d[m - 1]; j++, i++) {
System.out.print(”\t” + j);
if (i % 7 == 0)
System.out.println();
}
System.out.println();
System.out.println(“是否需要退出:true/false”);
boolean r = sc.nextBoolean();
if ®
break;
}
}
}