test4.java

来自「实现自定义输入数字返回判断时间日期的java方法」· Java 代码 · 共 53 行

JAVA
53
字号
import java.util.*;//导入Scanner 

public class test4 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		int day = 0, allday = 0, inputday = 0, aday = 0;
		int firstday;
		System.out.print("请输入要查询的年:");// 提示输入要查询的年
		int year = input.nextInt();
		System.out.print("请输入要查询的月:");// 提示输入要查询的月
		int mouth = input.nextInt();
		for (int i = 1; i <= mouth; i++) {
			if (i == 1 | i == 3 | i == 5 | i == 7 | i == 8 | i == 10 | i == 12) {
				day = 31;
			} else if (i == 4 | i == 6 | i == 9 | i == 11) {
				day = 30;
			} else if (i == 2 && year % 4 == 0 && year % 100 != 0
					| year % 400 == 0) {
				day = 29;
			} else {
				day = 28;
			}
			if (i < mouth) {
				inputday = inputday + day;
			} // 计算当月距离当年1月的天数
		}
		for (int i = 1990; i < year; i++) {
			if (i % 4 == 0 && i % 100 != 0 | i % 400 == 0) {
				aday = aday + 366; // 计算当年距离1990年的天数
			} else {
				aday = aday + 365;
			}
		}
		allday = aday + inputday; // 计算距离1990年的总天数
		System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
		int temp = 1 + allday % 7; // 从1900年1月1日推算
		if (temp == 7) { // 求当月第一天
			firstday = 0; // 周日
		} else {
			firstday = temp;
		}
		for (int i = 0; i < firstday; i++) {
			System.out.print("\t");
		}
		for (int i = 1; i <= day; i++) {
			System.out.print(i + "\t");
			if ((allday + i - 1) % 7 == 5) {
				System.out.println();
			}
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?