Java自学的第10天,简单万年历的实现
package com.xj.nianli;
import java.util.Scanner;
public class Nlianli {
public void print() {
Scanner scan = new Scanner(System.in);
System.out.println("请输入你要查询的年份");
int year = scan.nextInt();
System.out.println("请输入你要查询的月份");
int month = scan.nextInt();
System.out.println("-------万年历--------");
if ((year >= 1900) && (year < 9999)) {
if ((month > 0) && (month < 13)) {
int Month, Year, k, days = 0, totaldays = 0, totaldays1 = 0;
for (Year = 1900; Year < year; Year++) {
if ((Year % 400 == 0) || ((Year % 4 == 0) && (Year % 100 != 0))) {
totaldays += 366;
} else totaldays += 365;
}
for (Month = 1; Month < month; Month++) {
switch (Month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
case 2:
if ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0))) {
days = 29;
} else days = 28;
break;
}
totaldays1 += days;
}
int totaldays2 = totaldays + totaldays1;
if (totaldays2 % 7 == 6) {
k = 0;
} else {
k = ((totaldays2 % 7) + 1);
}
System.out.println("日\t一\t二\t三\t四\t五\t六");
for (int i = 0; i < k; i++) {
System.out.print("\t");
}
for (int i = 1; i <= days; i++) {
System.out.print(i + "\t");
if ((k + i) % 7 == 0)
System.out.println();
}
} else System.out.println("输入正确的月份");
} else System.out.println("请输入正确的年份");
}
public static void main(String[] args) {
new Nlianli().print();
}
}
基础还要继续巩固呀,加油!